gpt4 book ai didi

django - 用于非数据库领域的 django 中的工厂男孩

转载 作者:行者123 更新时间:2023-11-28 20:08:39 24 4
gpt4 key购买 nike

我有一个 Django 模型,在保存时会触发在外部服务上创建一个帐户(与 Django 没有任何关系)。不过,为了进行测试,我想禁止创建此帐户。我可以覆盖管理器的 save() 方法并从那里弹出 kwarg,或者我可以根据 Non-database field in Django model 向模型添加一个非数据库字段属性。并在我的保存方法中检查它。

但是,当我尝试使用 factoryboy 创建我的对象时,它似乎在检查模型中的真实字段,由于属性不是字段而崩溃。

class MyModel(models.Model):
name = models.CharField()
create_external_account = True
def save(self, *args, **kwargs):
if create_external_account:
...

class MyModelFactory(factory.django.DjangoModelFactory):
class Meta:
model = MyModel
name = factory.Sequence(lambda n: 'name%d' % n)
create_external_account = False

关于如何通过 factoryboy 传递这样的额外参数有什么想法吗?

最佳答案

您可以 customize _create方法。

您也可以disable signals如果外部帐户是在信号处理程序中创建的。

关于django - 用于非数据库领域的 django 中的工厂男孩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25859721/

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