2017-01-02 7 views
2

아마도 바보 같은 질문 일 겁니다.하지만 저는 잠시 동안 벽에 머리를 두드 리고있었습니다. 내 테스트를 단순화하기 위해 공장 소년 라이브러리를 사용하기로 결정하고 공장 정의 : 나는 QualtricsSurveyCacheFactory.create()을 할 때 ID = 없음FactoryBoy의 "create"전략이 django 모델을 저장하지 않는 것 같습니다

>>> survey = QualtricsSurveyCacheFactory() 
>>> print survey.id 
None 

내가 할 수 .save() 모델 이후로 모델을 반환, 그러나

from . import models 
import factory 

class QualtricsSurveyCacheFactory(factory.Factory): 
class Meta: 
    model = models.QualtricsSurveyCache 

survey_id = "SR_1234" 
qualtrics_username = "[email protected]#bla" 
survey_name = "fake" 

을 창조,하지만 왜 그냥 자동으로 그렇게하지 않는지 궁금해.

답변

3

Django 모델에 올바른 기본 클래스를 사용하지 않았습니다.

class QualtricsSurveyCacheFactory(factory.DjangoModelFactory):  
    ... 

그런 다음, QualtricsSurveyCacheFactory() 기본 키와 저장된 인스턴스를 반환합니다 대신로부터 상속. 저장되지 않은 인스턴스를 원하면 QualtricsSurveyCacheFactory.build()을 사용하십시오.

+0

실제로. 정말 고맙습니다! –