I'm using AbstractBaseUser for my user models in various projects. Updating to Django 1.8 RC1 works smoothly and I can run the migrate management command. However, when trying to create a fresh database table layout from scratch, I get the following error:
python manage.py migrate
>>> ...
>>> ...
>>> django.db.utils.ProgrammingError: relation "auth_group" does not exist
All works perfectly with Django 1.7.x and I cannot find anything about this issue elsewhere. So, is it a big with the RC1 version or did something change that I'm not aware of in Django 1.8? Unfortunately, the error message doesn't really help ... but I'm pretty sure it has to do with the automatic migrations that come with the new Django version.
I've faced almost the same issue with Django 1.8, solved it only by running
manage.py makemigrations app_name
for the app with custom User model (+read below)e.g.:
AND FOR EVERY app that contained
ForeignKey
,OneToOneField
etc references to it, e.g.:then
manage.py migrate
worked with no errorsthe same approach works for any app containing extensions to django.contrib models, e.g. FlatPages etc...
To copy the answer I got from the Django ticket mentioned above: Before calling "python manage.py migrate" to create the database layout, one needs to create a migration for the app that contains the custom user class:
This creates a migration file within the app directory - et voilà, migrate does work and creates the other tables.
I'm using:
then
and then
I faced a very similar issue, complaining about
relation "auth_group" does not exist
however with Django 1.10.The
python manage.py makemigrations appname
did not help me as well.Even the
python manage.py showmigrations
was not working either, both of them raised the same error.After examining the traceback in detail, I found out, that in one of my class-based views I was defining the
queryset
class variable in the following way:After changing this to override the
get_queryset
function intead, it was working properly.