使用Django 1.7+和数据迁移加载初始数据
- 论坛
- 使用Django 1.7+和数据迁移加载初始数据
9 浏览
使用Django 1.7+和数据迁移加载初始数据
我最近从Django 1.6升级到了1.7,并开始使用迁移(我以前没有使用South)。
在1.7之前,我通常使用一个fixture/initial_data.json
文件来加载初始数据,这个文件是通过python manage.py syncdb
命令(在创建数据库时)加载的。
现在,我开始使用迁移,而这种行为已被弃用:
如果一个应用程序使用了迁移,那么就不会自动加载fixture。
由于Django 2.0将要求应用程序使用迁移,因此此行为被视为已弃用。如果您想为应用程序加载初始数据,请考虑在数据迁移中执行。
官方文档没有明确的示例说明如何实现,所以我的问题是:
使用数据迁移导入此类初始数据的最佳方法是:
- 编写多个调用
mymodel.create(...)
的Python代码, - 使用或编写一个Django函数(类似于调用
loaddata
)从JSON fixture文件中加载数据。
我更喜欢第二个选项。
我不想使用South,因为Django现在似乎能够原生支持。