Python 启动时加载数据

Python 启动时加载数据,python,django,Python,Django,我有一个文件,其中包含多个项目之间的一组通用数据。数据需要加载到Django数据库中。该文件变化不大,所以在服务器启动时加载一次就足够了。由于文件在多个项目之间共享,因此我无法完全控制格式,因此无法将其转换为夹具或其他内容 我尝试在ready()中加载它,但在创建新数据库或迁移现有数据库时遇到了问题,因为显然ready()是在迁移完成之前调用的,并且使用没有基础表的模型时会出错。我试图在class_prepared signal handler中设置它,但是加载过程使用了多个模型,所以我不能确定

我有一个文件,其中包含多个项目之间的一组通用数据。数据需要加载到Django数据库中。该文件变化不大,所以在服务器启动时加载一次就足够了。由于文件在多个项目之间共享,因此我无法完全控制格式,因此无法将其转换为夹具或其他内容


我尝试在ready()中加载它,但在创建新数据库或迁移现有数据库时遇到了问题,因为显然ready()是在迁移完成之前调用的,并且使用没有基础表的模型时会出错。我试图在class_prepared signal handler中设置它,但是加载过程使用了多个模型,所以我不能确定所有必需的模型类都准备好了。此外,在运行测试时似乎没有调用ready(),因此单元测试会失败,因为数据丢失。什么地方适合做这样的事情?

看来我要找的东西不存在。Django信任用户处理迁移之类的事情,并且不会在加载时检查数据库。因此,在系统中没有一个地方可以在系统启动时加载一些数据,并确保可以实际加载数据。我最后要做的是在ready()中加载数据,但首先通过在try:except:block中执行MyModel.objects.exist()并在出现异常时返回来执行健全性检查。这并不理想,但我还没有找到其他方法