我有一个 initial_data
夹具,我想在每次除了生产时加载它。我已经有用于生产和非生产部署的不同设置文件。
关于如何实现这一点有什么建议吗?
澄清:我不想要测试夹具。基本上,我只需要根据某种设置更改加载灯具。我将深入研究 Django 代码,看看是否可以找到一种优雅的方法来完成此任务。
最佳答案
如果需要,您实际上可以为每个测试设置不同的测试夹具: http://docs.djangoproject.com/en/dev/topics/testing/#topics-testing-fixtures
如果您只想一次性加载 fixture,您还可以编写一个自定义 TestRunner,它允许您在开始时进行设置:
docs.djangoproject.com/en/dev/topics/testing/#using-different-testing-frameworks
这两者仍会像使用 syncdb 那样从生产装置加载数据,但您可以覆盖数据,甚至将其全部删除。如果您要将大量数据加载到生产产品中,这可能不是最佳选择。如果是这种情况,我建议您添加一个自定义命令,例如 load_production_data,这样您就可以从命令行快速轻松地执行此操作。
关于python - 不同阶段有不同的 initial_data fixture(测试与生产),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4731352/