In Django 1.6, I\'ve defined a custom user model, but for some reason now when I create a superuser and try to get it or access the Django admin as that superuser, I get this
Turns out that the problem here was actually very unrelated to the errors thrown.
I realized I was actually calling
UserObject.objects.get('user@email.com')
instead of
UserObject.objects.get(email='user@email.com')
which is why the errors were being thrown. If you look into the Django source code, you'll find that when building a filter for a QuerySet
, Django unpacks the field name and data for use in the filter, but since I had provided no field name to objects.get(...)
, there was an error thrown when unpacking.
Used the Werkzeug live browser debugger for this; I highly recommend it.
You have to implement has_module_perms
method as stated in the Django custom user documentation:
If you want your custom User model to also work with Admin, your User model must define some additional attributes and methods.