赛程
夹具是数据库的初始数据。当你有一些现有数据时,最直接的方法是使用命令 dumpdata
./manage.py dumpdata > databasedump.json # full database
./manage.py dumpdata myapp > databasedump.json # only 1 app
./manage.py dumpdata myapp.mymodel > databasedump.json # only 1 model (table)
这将创建一个 json 文件,可以使用再次导入
./manage.py loaddata databasedump.json
当使用 loadddata
而不指定文件时,Django 将在你的应用程序中查找 fixtures
文件夹或在设置中的 FIXTURE_DIRS
中提供目录列表,并使用其内容。
/myapp
/fixtures
myfixtures.json
morefixtures.xml
可能的文件格式为:JSON, XML or YAML
Fixtures JSON 示例:
[
{
"model": "myapp.person",
"pk": 1,
"fields": {
"first_name": "John",
"last_name": "Lennon"
}
},
{
"model": "myapp.person",
"pk": 2,
"fields": {
"first_name": "Paul",
"last_name": "McCartney"
}
}
]
夹具 YAML 示例:
- model: myapp.person
pk: 1
fields:
first_name: John
last_name: Lennon
- model: myapp.person
pk: 2
fields:
first_name: Paul
last_name: McCartney
Fixtures XML 示例:
<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
<object pk="1" model="myapp.person">
<field type="CharField" name="first_name">John</field>
<field type="CharField" name="last_name">Lennon</field>
</object>
<object pk="2" model="myapp.person">
<field type="CharField" name="first_name">Paul</field>
<field type="CharField" name="last_name">McCartney</field>
</object>
</django-objects>