Python 完成所有南部迁移后运行管理任务
我想知道在所有迁移完成后是否可以运行一个管理任务(基本上用JSON中的一些数据预先填充数据库)。迁移后步骤(如果愿意) 我能找到的最接近的信号是(一个非常有用的)Python 完成所有南部迁移后运行管理任务,python,django,migration,django-south,database-migration,Python,Django,Migration,Django South,Database Migration,我想知道在所有迁移完成后是否可以运行一个管理任务(基本上用JSON中的一些数据预先填充数据库)。迁移后步骤(如果愿意) 我能找到的最接近的信号是(一个非常有用的)post\u migrate信号,我像这样钩住了它: @receiver(post_migrate) def loadInitialData(app, verbosity, interactive, db, **kwargs): management.call_command('loadInitialData') 但是,每次迁
post\u migrate
信号,我像这样钩住了它:
@receiver(post_migrate)
def loadInitialData(app, verbosity, interactive, db, **kwargs):
management.call_command('loadInitialData')
但是,每次迁移运行后都会调用它。我知道这是预期的行为,但是否可以仅在所有迁移完成后执行
我想到的一种骇客方法就是浏览/migrations
目录中的所有文件,然后翻出数字,然后找到max,然后在run\u migration
信号中进行比较
还有更好的吗?很抱歉,如果这是一个明显的问题,我对南方很陌生。您正在寻找django提供的一个功能,名为fixture:South也有数据迁移:我最初考虑使用fixture,但可以找到有关加载顺序的任何信息。我希望在正常迁移和测试环境(即由
migrate
运行)中完成所有迁移后加载它们。数据迁移的问题是它们仍然是有编号的,所以我不确定如何表达迁移后数据加载的概念。此外,@karthikr,fixture似乎在迁移后没有加载。