Django / Python:更新指向settings.AUTH_USER_MODEL的关系

时间:2013-01-08 13:26:27

标签: python django postgresql

我对Python和Django完全不熟悉,但我需要在我的服务器上安装testbedserver-software(我在其中遵循此tutorial)。现在我在运行以下命令时遇到了麻烦:

python manage.py syncdb

显示以下错误:

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.

这是我的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)

这是我的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': '',
}
}

我已经找到了http://grokbase.com/p/gg/django-users/12ar0b12ca/ver-1-5-specifying-custom-user-model-extends-abstractuser-doesnt-work。 但我甚至不知道在哪里应用解决方案。 (我甚至不知道这个问题是基于PostgreSQL,Python或Django的......)

有人可以帮我这个吗?

提前致谢, 格伦

1 个答案:

答案 0 :(得分:10)

settings_example.py {p>你有AUTH_USER_MODEL = 'users.User'。但是,您使用的应用程序 - menu.bookmark - 与django.contrib.auth.User有关系 - 您不能同时拥有这两者。设置AUTH_USER_MODEL意味着您要用自己的内置Django用户模型替换它。有关详细信息,请参阅http://procrastinatingdev.com/django/using-configurable-user-models-in-django-1-5/