2017-04-21 55 views
0

我开始使用内置于Django中的“重定向”应用来替换我在urls.py中的一些现有重定向。我想知道是否有任何普遍接受的方式在其他应用程序的代码库中包含初始数据。例如,如果它是为我创建的应用程序创建的,我可以创建一个迁移文件,其中有一个RunPython部分,我可以加载一些初始数据。使用内置或第三方应用程序,似乎没有办法创建迁移文件来添加初始数据。内置应用的Django初始数据

现在我能想到的最好方法是在存储库中包含一个.sql文件和初始数据,并在将代码推送到不同实例时手动导入数据。

回答

2

您可以通过使用固定装置

做在你的应用程序目录下创建一个文件夹名fixtures

使用这个命令来创建你想作为初始数据的JSON文件。

python manage.py dumpdata you_app_name.model_name --indent 2 > model_name.json 

拷贝model_name.jsonfixtures文件夹。

将代码上传到回购。

然后在migrate command之后。输入此命令以加载初始数据。

python manage.py loaddata model_name.json 

reference

+0

我知道我可以创建一个项目范围内的灯具目录与'FIXTURE_DIRS'所以我想这是最好的选择至今。但是,迁移后仍需要手动操作。 –

+0

@TimTisdall如果你使用的是Linux操作系统。那么你可以编写一个别名命令并传递python manage.py migrate && python manage.py loaddata。所以它会在一个步骤中做到这一点。或者使用python fab(Fabric)并编写一个函数在一次调用中完成所有命令。 – Thameem

+0

@TimTisdall。我认为它的解决方案。我不知道更多。 – Thameem