繁体   English   中英

我如何为 django 1.8 挂入 django 迁移

[英]How can i hook into django migrations for django 1.8

我正在使用 Django 1.8。

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

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

它工作正常,但我的问题是,如果某些更改字段名称或重新调用某些字段,那么我还需要在我的 yml 文件中反映出来。

所以我在想什么时候用户运行迁移然后我怎么能看到

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

我怎样才能做到这一点

创建迁移后,您可以使用重写的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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM