赛程

夹具是数据库的初始数据。当你有一些现有数据时,最直接的方法是使用命令 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>