Python 在Django中,是否可以迁移任何特定的文件?

Python 在Django中,是否可以迁移任何特定的文件?,python,django,database,migrate,Python,Django,Database,Migrate,目前我正在学习django和与迁移相关的东西 我发现我们可以使用python manage.py migrate app name迁移特定的应用程序,但没有找到如何迁移名为python manage.py migrate 0024\u auto\u 20200827\u 0706.py的特定迁移文件 如果我将执行python manage.py migrate 0024\u auto\u 20200827\u 0706.py,它将从该点或文件恢复迁移,但不会为此特定文件执行迁移 我的问题:是否可

目前我正在学习django和与迁移相关的东西

我发现我们可以使用
python manage.py migrate app name
迁移特定的应用程序,但没有找到如何迁移名为
python manage.py migrate 0024\u auto\u 20200827\u 0706.py的特定迁移文件

如果我将执行
python manage.py migrate 0024\u auto\u 20200827\u 0706.py
,它将从该点或文件恢复迁移,但不会为此特定文件执行迁移

我的问题:是否可以为特定文件执行迁移?如果可以,那么如何实现


谢谢。

不,不可能直接按顺序运行单个迁移

如果迁移是某种类型的数据迁移,否则可能会无序运行(即,它不依赖于模式更改,或者运行起来很危险),我建议将其重构为

  • 例如,
    myapp/migration\u utils
  • 只调用上述函数的迁移本身
  • 调用上述函数的管理命令

然后,您可以根据需要手动调用管理命令,否则迁移将按顺序运行。

这是否回答了您的问题?您对此的用例是什么?通常,从堆栈中运行单个迁移会使代码和数据库处于不一致的状态。(如果可行的话)实际上我没有用例,只是出于好奇。@Karthik如果我愿意的话--为以前的迁移(如0020023)伪造,那么下一个迁移(如0025026等)呢?我无法正确理解它。如果你能给我详细解释一下,那就太好了。