賽程

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