When upgrading to Django 1.8 (with zc.buildout) and running syncdb or migrate, I get this message:
django.db.utils.ProgrammingError: relation "auth_user" does not exist
One of my models contains django.contrib.auth.models.User:
user = models.ForeignKey(
User, related_name='%(app_label)s_%(class)s_user',
blank=True, null=True, editable=False
)
Downgrading to Django 1.7 removes the error. Do I have to include the User object differently in Django 1.8?
On my environment, I fix this running
makemigrations
on all apps that have relationship withdjango.contrib.auth.models
:This problem is contained by running "makemigrations" for all apps, that have not yet been migrated, i.e. apps that do not yet have an "initial_0001.py" file in their migrations directory.
This is done (in our case we use a makefile) by running for each of these apps:
Once that is done, you can execute:
as usual.
The underlying cause for this is that for some reason
does not always create these initial migrations if they are not already there. And that leads to the mentioned error.
On the contrary,
does always create them (if not already there). Unfortunately I cannot fathom the reasons for this asymmetry.
I also had the same issue I solved it by using these :
Then migrate does its job