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 中为用户模型加载 sql 夹具?

django 在向后迁移/ loaddata 后从夹具加载数据使用的是模型模式而不是数据库模式

由于夹具错误,Django datadump 和 loaddata 无法正常工作

如何从夹具远程加载数据

Django 夹具未加载 loaddata

加载夹具时 django unittest 出错