Django 迁移:“elidable”参数的用途是什么?

nie*_*kas 4 django python-3.x django-migrations

RunPython在迁移中进行了操作,例如其中一项迁移:

class DataMigration(migrations.Migration):
    dependencies = [('app1', '0001_initial')]

    operations = [
        migrations.RunPython(create_data, delete_data, elidable=True),
    ]
Run Code Online (Sandbox Code Playgroud)

此操作接受一个可选参数,该参数在Django 文档elidable中进行了描述:

可选的 Elidable 参数确定在压缩迁移时是否删除(消除)该操作。

这个描述让我有点困惑。elidable=True我的问题是:当带标志的迁移被压制时会发生什么?

我想迁移 withelidable=True会被简单地删除。并且必须采取一些手动步骤才能将删除的迁移逻辑添加到压缩的迁移逻辑中。

Ton*_*ony 6

压缩迁移的文档说

压缩是将一组现有的许多迁移减少为一个(或有时是几个)仍代表相同更改的迁移的行为。

因此,不需要任何“手动步骤”,因为由此产生的迁移将具有与压缩之前相同的效果。