利用Django迁移功能保存一些数据

时间:2018-08-19 04:05:50

标签: python django django-models

我注意到,当您运行 Django Migration 时,创建新模型时会将一些数据添加到表--family dataproc中。您有什么方法可以利用迁移过程对自己的模型进行相同的处理?我用Django Documentation about writing Migrations表示红色,但它仅涵盖了全新的迁移过程的创建,并没有说明将默认设置用于自己的海豚。

1 个答案:

答案 0 :(得分:0)

您可以编写迁移。像这样运行RunPython

def insert_data(apps, schema_editor):
    YourModel = apps.get_model('<appname>', '<ModelName>')
    # now insert data with YourModel.

class Migration(migrations.Migration):

    dependencies = [
        ('<appname>', '<dependency>'),
    ]

    operations = [
        migrations.RunPython(insert_data),
    ]

注意这些:

  • 在迁移中加载的模型没有实现的方法。例如您自定义保存方法,则必须在此处编写该代码
  • 如果要使迁移可逆,则必须编写一个用于反向操作的新函数,并将参数reverse_code添加到RunPython行中。您可以使用migration.RunPython.noop来使反向迁移无效。