我想使用json文件来填充Django模型的实例。我基本上将json中的结构扁平化为几个表/类。如何将json数据映射到Django表?
最有效的方法是什么?
感谢。
答案 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"
}
}
]