migrate command fails with foreign key to user model

584 views
Skip to first unread message

Ryan

unread,
Apr 28, 2014, 4:54:32 AM4/28/14
to django...@googlegroups.com
I have used django in the past, but not for some time.  So the changes surrounding the user models are new to me.  I downloaded v1.7b2 and proceeded to start a new development I am planning.  However I came across a problem when trying to run migrate after generating the migrations on an app that has a model that contains a foreign key to the user model.  So I created a simple test app to isolate the problem, with a model defined as below:

from django.db import models
from django.conf import settings

class TestModel(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)

When I run "makemigrations test_app" the migrations seem to be created fine as there are no errors produced.  However when I run "migrate" I get the folllowing errors:

C:\Users\osborn_r\django\test_project>python manage.py migrate
Operations to perform:
  Synchronize unmigrated apps: admin, contenttypes, auth, sessions
  Apply all migrations: test_app, auth
Synchronizing apps without migrations:
  Creating tables...
  Installing custom SQL...
  Installing indexes...
Running migrations:
  Applying test_app.0001_initial...Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
427, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
419, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 288,
 in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 337,
 in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\migrate.py
", line 145, in handle
    executor.migrate(targets, plan, fake=options.get("fake", False))
  File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 60
, in migrate
    self.apply_migration(migration, fake=fake)
  File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 88
, in apply_migration
    if self.detect_soft_applied(migration):
  File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 13
2, in detect_soft_applied
    apps = project_state.render()
  File "C:\Python27\lib\site-packages\django\db\migrations\state.py", line 63, i
n render
    model=dangling_lookup[0]))
ValueError: Lookup failed for model referenced by field auth.Permission.content_
type: contenttypes.ContentType

Can anyone spot what I have done wrong?

Simon Charette

unread,
Apr 28, 2014, 12:54:29 PM4/28/14
to django...@googlegroups.com
This is a release blocker for Django 1.7 which is being tracked in #22485.

Ryan

unread,
Apr 29, 2014, 2:57:22 AM4/29/14
to django...@googlegroups.com
Thanks for the info.  At least I now know it wasn't anything I was doing wrong!
Reply all
Reply to author
Forward
0 new messages