How to provide initial data for models
若你想为应用自动载入初始数据,创建一个 数据迁移。创建测试数据库时会运行迁移,所以可以用这里的数据, 主题。
通过固定内容提供数据
你也能通过固定内容提供数据,不过,这些数据不会自动加载,除非你使用 。
固定内容是一个 Django 知道如何导入数据库的集合。若你已有一些可用数据,最直接的创建固定内容的方式是使用 manage.py dumpdata 命令。或者,你可以手写固定内容;固定数据能被写作 JSON,XML 或 YAML (要求已安装 )文档。 序列化文档 拥有更多这些支持的 的细节信息。
以下是一样的固定内容,YAML 格式:
pk: 1
fields:
first_name: John
- model: myapp.person
pk: 2
fields:
你会将该数据存入应用中的 fixtures
字典。
你只需调用 manage.py loaddata <fixturename>
来加载数据, <fixturename>
是你刚创建的固定内容的文件名。每次你运行 ,数据都会从固定内容读出,重新装入数据库。这意味着若你修改了某个固定内容创建的行,随后再次运行 loaddata ,你会丢掉所有的修改。
时,你也能指定一个到固定内容文件的路径,这将会覆盖查找常规目录的行为。
参见
固定内容通常备 测试框架 用于创建永久的测试环境。