Django使用inital_data.json加载用户

AgD*_*ude 4 django

我正在使用此问题中描述的方法为我的django项目加载初始用户.

这样可以保存用户权限,其中一个权限记录可能如下所示:

{
"pk": 56, 
"model": "auth.permission", 
"fields": {
  "codename": "change_somemodel", 
  "name": "Can change some model", 
  "content_type": 19
}
Run Code Online (Sandbox Code Playgroud)

用户记录:

{
"pk": 2, 
"model": "auth.user", 
"fields": {
  "username": "some_user", 
  "first_name": "", 
  "last_name": "", 
  "is_active": true, 
  "is_superuser": false, 
  "is_staff": true, 
  "last_login": "2011-09-20 06:36:54", 
  "groups": [], 
  "user_permissions": [
    10, 
    11, 
    19, 
    20, 
    21, 
    1, 
    2, 
    56,
    ...,
  ], 
  "password": "sha1$e4f29$fcec7f8bb930d98abdaaa3c0020220f413c4c1f5", 
  "email": "", 
  "date_joined": "2011-03-15 06:01:41"
}
Run Code Online (Sandbox Code Playgroud)

在将来的安装中是否有可能更改内容类型外键?如果添加模型或应用程序怎么样?例如,假设我在我的核心应用程序中添加了一个模型,然后我在settings.py中列出了一些可重用的应用程序,那些新安装会有不同的content_type_id吗?我可以在我的初始数据中包含content_type表,还是可能导致其他问题?

如果这不是将多个初始用户加载到数据库的可靠方法,那么有哪些替代方案?

okm*_*okm 7

检查自然键 .使用-nw/dumpdata,就像./manage.py dumpdata -n auth.User


crl*_*ane 7

实际上,您可能还必须排除contenttypes以使其工作.此外,如果您有任何用户或组数据,则还需要转储这些数据.有关排除contenttypes的更多信息,请参阅此主题.

对于我的应用程序,我必须使用以下命令进行loaddata或test以使用manage.py dumpdata生成的fixture.另外,你应该使用--indent N选项来确保你得到一个人类可读的文件(其中N是缩进的空格数)

./manage.py dumpdata -n --indent 4 -e contenttypes appName auth.Group auth.User > initial_data.json
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

2726 次

最近记录:

7 年,3 月 前