[英]Django auth models not being created
我在我的项目中使用django 1.8,似乎没有创建auth模型。 我已经应用了auth迁移,并且得到了;
python manage.py migrate --database=default auth
Operations to perform:
Apply all migrations: auth
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
但是仅创建django_content_type表。 我也在使用Postgres。 谁能给我有关如何解决此问题的建议。 谢谢。
编辑:正在运行;
python manage.py createsuper
part of error dump
django.db.utils.ProgrammingError: relation "auth_user" does not exist
LINE 1: ...user"."is_active", "auth_user"."date_joined" FROM "auth_user...
编辑
settings.py
....
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
........
DATABASES = {
'default': {
'NAME': 'dbname',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': 'theuser',
'PASSWORD': 'thepassword',
'HOST':'thehost'
},
'auth_db': {
'NAME': 'dbname',
'ENGINE': 'django.db.backends.mysql',
'USER': 'otheruser',
'PASSWORD': 'thepassword',
'HOST':'thehost'
}
}
....
我正在使用2个数据库连接,其中mysql数据库用于验证现有用户。 这个想法是在新应用程序的mysql数据库上使用已经存在的用户。
尝试手动迁移您的auth
应用,然后尝试迁移默认迁移命令。
python manage.py migrate auth
python manage.py migrate
希望这可以帮助。
我终于通过删除数据库路由器解决了问题。 这是因为在如上所述的应用程序中,我将auth请求路由到另一个已经存在的数据库。
这样的运行
python manage.py sqlmigrate auth 000_initial
产生和清空sql语句。 通过运行以下命令从设置配置中删除数据库路由器
python manage.py migrate auth
生成“ sql语句”,因此可以继续进行下游应用程序的迁移。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.