gpt4 book ai didi

django - FactoryBoy "create"策略似乎无法保存 django 模型

转载 作者:行者123 更新时间:2023-12-01 10:32:07 25 4
gpt4 key购买 nike

可能是一个愚蠢的问题,但我已经用头撞墙有一段时间了。
我决定尝试 factory-boy 库来简化我的测试并定义了一个工厂:

from . import models
import factory

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

survey_id = "SR_1234"
qualtrics_username = "bla@blah.bla#bla"
survey_name = "fake"

但是,当我这样做时 QualtricsSurveyCacheFactory.create()它返回带有 id = None 的模型
>>> survey = QualtricsSurveyCacheFactory()
>>> print survey.id
None

我可以 .save()创建后的模型,但只是好奇为什么它不会自动执行。

最佳答案

您没有为 Django 模型使用正确的基类。继承自:

class QualtricsSurveyCacheFactory(factory.DjangoModelFactory):    
...

然后, QualtricsSurveyCacheFactory()将返回一个带有主键的保存实例。使用 QualtricsSurveyCacheFactory.build()如果你想要一个未保存的实例。

关于django - FactoryBoy "create"策略似乎无法保存 django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41434343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com