我怎样才能挂入django 1.8的django迁移

时间:2015-06-23 05:54:33

标签: python django migration

我正在使用django 1.8。

现在我需要添加一些基于permisions的自定义字段,所以我已经从像这样的python模型创建了一个YML文件

description:
    permissions: ['ADMIN']
award:
    permissions: ['USER']

它的工作正常,但我的问题是如果某些字段命名或重新显示某些字段,那么我也需要在我的yml文件中反映出来。

所以我想在用户运行迁移时,如果有一些我能够看到

  1. 如果删除了字段,那么我需要从yml文件中删除该条目
  2. 如果字段是重命名的,那么我需要重命名
  3. 如果添加了新字段,那么我需要为其添加空白行
  4. 我该怎么做

1 个答案:

答案 0 :(得分:1)

创建迁移后,您可以使用覆盖的apply方法手动将基本迁移类更改为自定义子类

from django.db import migrations

class MyBaseMigration(migrations.Migration):
    def apply(self, project_state, schema_editor, collect_sql=False):
        for operation in self.operations:
            """
            Examine operation classes here and provide end-user notes
            """
         return super(MyBaseMigration, self).apply(project_state, schema_editor, collect_sql=collect_sql)