2017-01-02 4 views
2

おそらくばかげた質問ですが、私はちょっと壁に頭を向けていました。 私は私のテストを簡素化するために、工場出荷時の少年のライブラリを試してみることにしたと工場定義された:私はQualtricsSurveyCacheFactory.create()を行う際には、ID =なしFactoryBoyの "作成"戦略は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

実際。どうもありがとうございます! –

関連する問題