賽程
夾具是資料庫的初始資料。當你有一些現有資料時,最直接的方法是使用命令 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>