预先选择用于迁移到数据库的数据

时间:2018-05-29 10:27:50

标签: django django-models django-database

Django有没有办法在迁移期间或之后用多个记录填充数据库,除了手动方法,或者恢复备份。

例如: 我有一个带有服务的模型,在创建数据库之后应该已经有3个条目,因为它是一个绑定器。

如何在Django 2.x中实现它?

1 个答案:

答案 0 :(得分:0)

来自Data migrations

上的django文档
  

Django无法为您自动生成数据迁移   使用模式迁移,但编写它们并不是很难。   Django中的迁移文件由Operations和main组成   您用于数据迁移的操作是RunPython。

实施例

 from django.db import migrations

 def combine_names(apps, schema_editor):
     # We can't import the Person model directly as it may be a newer
     # version than this migration expects. We use the historical version.
     Person = apps.get_model('yourappname', 'Person')
     for person in Person.objects.all():
         person.name = '%s %s' % (person.first_name, person.last_name)
         person.save()

 class Migration(migrations.Migration):

     dependencies = [
         ('yourappname', '0001_initial'),
     ]

     operations = [
         migrations.RunPython(combine_names),
     ]