2010-04-28 6 views
1

내 프로젝트의 덤프 데이터를 만든 다음 새 테스트에서 해당 데이터를 조명기에 추가했습니다. 테스트를 실행하는 경우Django : 텍스트 고정물이로드되지 않습니다

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, createb 간단한 syncdb 시도 loaddata 및 실패, 같은 오류가 발생합니다.

단서가 있습니까?

파이썬 버전 2.6.5,

+0

은 fixtures/디렉토리에서 사용할 수있는 test_data.json입니까? test_data.json은 어떻게 생겼습니까? –

+0

을 사용할 수 있으며 manage.py dumpdata 명령의 데이터처럼 보입니다 –

답변

4

장고 1.1.1 아마도 당신은 일부 외국 주요 문제가 있습니다. 다른 모델을 참조하는 외래 키가 있지만 다른 모델이없는 모델이 있으면이 오류가 발생합니다.

두 가지 이유가있을 수 있습니다. 다른 앱에서 test_data.json 덤프에 포함하지 않은 모델을 가리키면 문제가 발생할 수 있습니다.

외래 키가 변경되면 직렬화가 중단 될 수 있습니다. 특히 permissions 또는 generic relations과 같이 자동 생성 된 필드에서는 문제가 발생할 수 있습니다. Django 1.2는 natural keys을 지원합니다. 이것은 모델의 "자연스러운"표현을 변경할 수있는 ID가 아닌 외래 키로 직렬화하는 방법입니다.

+0

예 ... 문제가 ... FK ... –

관련 문제