Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 完成所有南部迁移后运行管理任务_Python_Django_Migration_Django South_Database Migration - Fatal编程技术网

Python 完成所有南部迁移后运行管理任务

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') 但是,每次迁

我想知道在所有迁移完成后是否可以运行一个管理任务(基本上用JSON中的一些数据预先填充数据库)。迁移后步骤(如果愿意)

我能找到的最接近的信号是(一个非常有用的)
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似乎在迁移后没有加载。