11

I'm completely new to Python and Django, but I need to install testbedserver-software (for which I follow this tutorial) on my server. Now I'm running into trouble when running following command:

python manage.py syncdb

The following error is shown:

CommandError: One or more models did not validate:
menu.bookmark: 'user' defines a relation with the model 'auth.User', which has been swapped out. Update the relation to point at settings.AUTH_USER_MODEL.
dashboard.dashboardpreferences: 'user' defines a relation with the model 'auth.User', which has been swapped out. Update the relation to point at settings.AUTH_USER_MODEL.

This is my manage.py:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "controller.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

This is my settings.py:

from controller.settings_example import *

# Probably you want to override at least the database configuration:
DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'controller',
    'USER': 'confine',
    'PASSWORD': 'confine',
    'HOST': 'localhost',
    'PORT': '',
}
}

I already found this http://grokbase.com/p/gg/django-users/12ar0b12ca/ver-1-5-specifying-custom-user-model-extends-abstractuser-doesnt-work. But I don't even know where to apply the solution. (I don't even know this problem is PostgreSQL, Python or Django based...)

Can someone help me with this?

Thanks in advance, atobi

atobi
  • 123
  • 1
  • 2
  • 7
  • is there nothing else in settings? Django seems to think that you have set `AUTH_USER_MODEL`. oh and what version of Django is this? – scytale Jan 08 '13 at 14:42
  • It sounds like you have settings for Django <=1.4 but are running 1.5 I would suggest running: `import django django.VERSION` To see what version it is you are using. – Joe Doherty Jan 08 '13 at 16:01
  • @JoeDoherty: django version (1, 6, 0, 'alpha', 0) so I guess 1.6? – atobi Jan 09 '13 at 10:08
  • @scytale: Sorry, yes, it seems to import settings_example.py and that contains this: http://pastebin.com/DgNQsq1M – atobi Jan 09 '13 at 10:11
  • Have a look at the models which it is talking about in the error. There maybe a specific reference to something like `user = ForeignKey()`. I have not used 1.5 yet so I may be a bit off – Joe Doherty Jan 09 '13 at 14:09

1 Answers1

14

in settings_example.py you have AUTH_USER_MODEL = 'users.User'. However you are using an app - menu.bookmark - that has a relation to django.contrib.auth.User - you can't have both. Setting AUTH_USER_MODEL means that you are replacing the built-in Django user model with your own. See http://procrastinatingdev.com/django/using-configurable-user-models-in-django-1-5/ for details.

scytale
  • 12,346
  • 3
  • 32
  • 46