0
我想为在Django的syncdb
(执行后)创建超级用户定义一个固定的用户名和密码。我在下面使用的方法是在较旧版本的Django(我猜1.6)中工作,但现在它不工作。Django超级用户夹具错误 - 没有这样的表:auth_user
我有这个fixture文件initial_data.json
:
[
{
"fields": {
"username": "me",
"first_name": "",
"last_name": "",
"is_active": true,
"is_superuser": true,
"is_staff": true,
"last_login": null,
"groups": [],
"user_permissions": [],
"password": "pbkdf2_sha256$...",
"email": "[email protected]",
"date_joined": "2015-04-23T01:13:43.233Z"
},
"model": "auth.user",
"pk": 1
}
]
当我添加这settings.INSTALLED_APPS
:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'my_app',
)
和运行python manage.py syncdb
,我得到以下错误:
django.db.utils.OperationalError: Problem installing fixture 'path/initial_data.json': Could not load auth.User(pk=1): no such table: auth_user
什么我应该怎么做?
我可以更改夹具加载的顺序以确保在加载夹具之前创建了auth_user
表吗?
或者任何其他方式来自动创建一个超级用户在Django?
在此先感谢。
是否将'auth.user'更改为'auth.User'帮助? –
它抱怨你的数据库没有auth_user表。你能打开你的数据库并检查该表是否在那里? – Cheng
@Cheng我通过手动删除my_app,syncdb和创建超级用户来获得这个json文件。所以是的,它创建了表格,但是如果我包含这个灯具,它就会失败。 – jeff