使用json文件填充Django模型sql表

时间:2015-11-05 07:53:46

标签: sql django python-2.7 django-models

我想使用json文件来填充Django模型的实例。我基本上将json中的结构扁平化为几个表/类。如何将json数据映射到Django表?

最有效的方法是什么?

感谢。

2 个答案:

答案 0 :(得分:1)

"Providing initial data for models"

  

在您首次设置应用时,使用硬编码数据预先填充数据库有时很有用。您可以通过灯具提供初始数据。

     

fixture是Django知道如何导入数据库的数据集合。如果您已经获得了一些数据,那么创建夹具的最直接方法是使用manage.py dumpdata命令。或者,你可以手工编写灯具; fixtures可以写成JSON,XML或YAML(安装了PyYAML)文档。序列化文档包含有关每种支持的序列化格式的更多详细信息。

答案 1 :(得分:1)

$ python manage.py loaddata yourjsonfile.json

让我们假设你想用两个用户填充标准的django用户表:John Lennon和Yoko Ono。你的json会像:

[
{
    "pk": 1,
    "model": "auth.user",
    "fields": {
        "username": "john",
        "first_name": "John",
        "last_name": "Lennon",
        "is_active": true,
        "is_superuser": true,
        "is_staff": true,
        "last_login": "2015-06-03T14:07:31.392Z",
        "groups": [],
        "user_permissions": [],
        "password": "pbaasdf_sha256$12001$9Ser7lc1k1pWQFqk0x3u/T6I3",
        "email": "john@lennon.com",
        "date_joined": "2015-03-10T15:38:34.406Z"
    }
},
{
    "pk": 2,
    "model": "auth.user",
    "fields": {
        "username": "yoko",
        "first_name": "Yoko",
        "last_name": "Ono",
        "is_active": true,
        "is_superuser": false,
        "is_staff": false,
        "last_login": "2015-05-19T13:36:58.444Z",
        "groups": [],
        "user_permissions": [],
        "password": "baasdf_sha256$12cJskLs9Ser7lc1k1pWQFqk0x3u/T6I3",
        "email": "yoko@ono.com",
        "date_joined": "2014-05-19T13:36:58.444Z"
    }
}
]