我正在使用Django。我创建了一个名为suggestion_title的新模型,它有两个名为fa_id,desc的字段。我有文本形式的数据填写。那么有没有办法通过迁移或其他方式上传数据。我不想手动添加数据。我听说过夹具但无法找到好的解决方案。请帮忙。
答案 0 :(得分:1)
对于旧版本的Django,您可以使用fixture,但对于版本> = 1.7,首选的方法是数据迁移:
https://docs.djangoproject.com/en/1.8/topics/migrations/#data-migrations
# -*- coding: utf-8 -*-
from django.db import models, migrations
def create_objects(apps, schema_editor):
SuggestionTitle.objects.create(fa_id="foo", desc="bar")
class Migration(migrations.Migration):
dependencies = [
('yourappname', '0001_initial'),
]
operations = [
migrations.RunPython(create_objects),
]
答案 1 :(得分:0)
您需要使用灯具,而不是迁移。 Fixtures可以是JSON,XML或YAML格式。 Django documentation解释了如何使用灯具。
在您的情况下,JSON fixture可能如下所示:
[
{
"model": "YOURAPPNAME.suggestion_title",
"fields": {
"fa_id": "FOO",
"desc": "BAR"
}
},
{
"model": "YOURAPPNAME.suggestion_title",
"fields": {
"fa_id": "BAZ",
"desc": "QUX"
}
}
]
创建灯具后,使用loaddata
管理命令加载灯具,例如:
manage.py loaddata myfixture.json