来自导入应用程序的模型的Django夹具(如django-allauth)

noi*_*isy 2 django json django-fixtures django-allauth

我知道可以像initial_data.json我自己的模型一样创建灯具文件.我想为导入的django-allauth应用程序创建和使用的表创建类似的文件.

我试过了:

[
    {
        "model":"allauth.socialaccount.models.SocialApp",
        "pk":1,
        "fields":{
            "id":"1",
            "provider":"facebook",
            "name":"facebook",
            "client_id":"0011223344556677",
            "key":"",
            "secret":"012345678901234567890123456"
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

然而,最终会出现错误:

python manage.py syncdb
Creating tables ...
Installing custom SQL ...
Installing indexes ...
DeserializationError: Problem installing fixture 'initial_data.json': 
  Invalid model identifier: 'allauth.socialaccount.models.SocialApp'
Run Code Online (Sandbox Code Playgroud)

ts_*_*ati 6

我在这里发现,模型中的表django.contrib.sites.models.Site可以使用填充

[
  {
    "model": "sites.site", 
    "pk": 1, 
    "fields": {
      "domain": "myproject.mydomain.com", 
      "name": "My Project"
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

所以模型allauth.socialaccount.models.SocialApp可能可以填充:

[
    {
        "model":"socialaccount.socialapp",
        "pk":1,
        "fields":{
            "id":"1",
            "provider":"facebook",
            "name":"facebook",
            "client_id":"0011223344556677",
            "key":"",
            "secret":"012345678901234567890123456"
        }
    }
]
Run Code Online (Sandbox Code Playgroud)