我的项目的dumpdata,然后在我的新测试中,我将它添加到灯具中。
from django.test import TestCase
class TestGoal(TestCase):
fixtures = ['test_data.json']
def test_goal(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.failUnlessEqual(1 + 1, 2)
运行测试时,我得到:
安装夹具时出现问题 'XXX /夹具/ test_data.json':
DoesNotExist:XXX匹配查询 不存在。
但是当db为空时,手动执行loaddata 工作正常不会。
我做了一个dropdb,创建了一个简单的syncdb try loaddata并且它失败了,同样的错误。
有任何线索吗?
Python 2.6.5版,Django 1.1.1
答案 0 :(得分:4)
也许你有一些外键问题。如果您的模型包含引用另一个模型的外键但另一个模型不存在,则会出现此错误。
这可能是由于以下几个原因造成的:如果您指向另一个未包含在test_data.json转储中的应用中的模型,则会遇到问题。
此外,如果外键更改,这可能会破坏序列化 - 对于自动创建的字段permissions或generic relations,这尤其成问题。 Django 1.2支持natural keys,这是一种使用模型的“自然”表示作为外键进行序列化的方法,而不是可能更改的ID。