加载一个或两个额外的 initial_data.json 的一个hacky方法是在你的 Django 项目中创建额外的空应用程序,该应用程序只有fixtures文件夹和initial_data.json文件。如果您需要在其他应用程序的固定装置之前加载固定装置,您可以将其命名为aa1
. 如果您需要另一个,您可以命名它aa2
。您的目录结构如下所示:
aa1/
fixtures/
initial_data.json
aa2/
fixtures/
initial_data.json
myrealapp/
fixtures/
initial_data.json
...
您需要将应用程序添加到INSTALLED_APPS
in settings.py
。
然后,您可以根据需要使用任意应用程序信息填充 fixture_data.json 文件:
(virtualenv) ./manage.py dumpdata --indent=4 auth > aa1/fixtures/initial_data.json
(virtualenv) ./manage.py dumpdata --indent=4 oauth2 > aa2/fixtures/initial_data.json
(virtualenv) ./manage.py dumpdata --indent=4 myrealapp > myrealapp/fixtures/initial_data.json
当您运行时python manage.py syncdb
,每个灯具都会按字母顺序自动加载。
正如我所提到的,这很 hacky,但是如果您只需要几个额外的 initial_data.json 文件并且需要能够控制它们的加载顺序,那么这很有效。