Django有没有办法在迁移期间或之后用多个记录填充数据库,除了手动方法,或者恢复备份。
例如: 我有一个带有服务的模型,在创建数据库之后应该已经有3个条目,因为它是一个绑定器。
如何在Django 2.x中实现它?
答案 0 :(得分:0)
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),
]