Django 1.6.5 - 无法从夹具加载初始数据
Posted
技术标签:
【中文标题】Django 1.6.5 - 无法从夹具加载初始数据【英文标题】:Django 1.6.5 - Unable to load initial data from fixtures 【发布时间】:2014-08-16 22:00:20 【问题描述】:我尝试按照djangoproject 中的建议加载初始数据。但我无法在我的数据库上加载对象。但是当我尝试加载数据时,它总是说
> python manage.py loaddata ./fixtures/initial_data.json
Installed 0 object(s) from 0 fixture(s)
但我有关于 initial_data.json 的数据 [/test-project/tableTest/tableTest/fixtures/initial_data.json]
[
"model":"tableTest.person",
"pk":1,
"fields":
"name":"Kevin"
,
"model":"tableTest.person",
"pk":2,
"fields":
"name":"Harry"
,
"model":"tableTest.person",
"pk":3,
"fields":
"name":"Piter"
]
#models.py
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=100, verbose_name="full name")
我也试过./manage.py loaddata pwd
/tableTest/fixtures/initial_data.json,但没有成功。请帮我提出我错过的建议。
【问题讨论】:
【参考方案1】:出现此问题是因为我在项目目录而不是 app 目录中编写模型定义,并且我在模型上定义的表不是在运行 syncdb
时创建的。后来我创建了一个应用程序并将fixtures,models.py,views.py移动到应用程序目录,重写urls.py。然后数据就加载成功了。
【讨论】:
以上是关于Django 1.6.5 - 无法从夹具加载初始数据的主要内容,如果未能解决你的问题,请参考以下文章
django 在向后迁移/ loaddata 后从夹具加载数据使用的是模型模式而不是数据库模式