How to provide initial data for models

    若你想为应用自动载入初始数据,创建一个 数据迁移。创建测试数据库时会运行迁移,所以可以用这里的数据, 主题。

    通过固定内容提供数据

    你也能通过固定内容提供数据,不过,这些数据不会自动加载,除非你使用 。

    固定内容是一个 Django 知道如何导入数据库的集合。若你已有一些可用数据,最直接的创建固定内容的方式是使用 manage.py dumpdata 命令。或者,你可以手写固定内容;固定数据能被写作 JSON,XML 或 YAML (要求已安装 )文档。 序列化文档 拥有更多这些支持的 的细节信息。

    以下是一样的固定内容,YAML 格式:

    1. pk: 1
    2. fields:
    3. first_name: John
    4. - model: myapp.person
    5. pk: 2
    6. fields:

    你会将该数据存入应用中的 fixtures 字典。

    你只需调用 manage.py loaddata <fixturename> 来加载数据, <fixturename> 是你刚创建的固定内容的文件名。每次你运行 ,数据都会从固定内容读出,重新装入数据库。这意味着若你修改了某个固定内容创建的行,随后再次运行 loaddata ,你会丢掉所有的修改。

    时,你也能指定一个到固定内容文件的路径,这将会覆盖查找常规目录的行为。

    参见

    固定内容通常备 测试框架 用于创建永久的测试环境。