我创建了一个空的数据迁移脚本来填充其中一个 使用
从 JSON 文件中获取数据的 app db 表python manage.py makemigrations --empty <app name>
我想使用数据迁移脚本(根据 Django 1.7 文档,这是推荐的方法)使用名为 populate_db
将使用 bulk_create
添加
表中的多个条目,然后执行 save()
写入
对数据库的更改。目前自定义方法为空
因为我还在努力,但剧本看起来是这样的
现在
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
def populate_db( apps, schema_editor ):
print ‘Populating db from JSON file...'
class Migration(migrations.Migration):
dependencies = [
('<app name>', '0003_auto_20150224_2024'),
]
operations = [
migrations.RunPython( populate_db ),
]
如何测试此脚本以确保自定义方法有效 正如预期的那样,在我完全运行它之前?我可以从口译员那里打电话吗 并使用 db API 对其进行测试?
此刻如果我这样做
python manage.py migrate <app name>
它报告没有要应用的迁移。
最佳答案
您可以向后迁移:
python migrate <app name> 0003
然后再次运行迁移:
python migrate <app name>
更新:要使数据迁移可逆,请添加 reverse_code
参数:
def depopulate_db(apps, schema_editor):
print 'Deleting previously added data from db...'
class Migration(migrations.Migration):
...
operations = [
migrations.RunPython(populate_db, depopulate_db),
]
关于python - Django (1.7) - 数据迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29200025/