gpt4 book ai didi

Django Factory Boy - 反向依赖(反向外键)常用配方

转载 作者:行者123 更新时间:2023-12-04 02:04:23 24 4
gpt4 key购买 nike

我是 FactoryBoy 的新手。我正在尝试文档中确切示例的示例:reverse dependencies .

1)所提到的“UserLogFactory”“如此明显”是否正确,应该像这样自己做:

class UserLogFactory(factory.django.DjangoModelFactory):
class Meta:
model = models.UserLog

2) 我收到了 AttributeError :

type object 'UserLog' has no attribute 'ACTION_CREATE'



我在互联网上搜索,我找到了 1 个引用( github error report ),他似乎在同一天自己解决了这个问题。他没有提到解决方案,但从他的评论来看,我认为这是显而易见的......

在此先感谢您的帮助!
亲切的问候。

最佳答案

根据关于 RelatedFactory 的工厂男孩文档和 SubFactory ,
您在 RelatedFactory 中定义的命名参数创建将传递给 UserLogFactory ,所以 action预计是 UserLogFactory 中的字段。

log = factory.RelatedFactory(UserLogFactory, 'user', action=models.UserLog.ACTION_CREATE)

发生 AttributeError 是因为 UserLog 缺少 ACTION_CREATE 的常量定义,我认为这是 UserLog.action 的可能选择之一 field 。

这是定义 UserLog 的可能方式模型:
class UserLog(models.Model):
ACTION_CREATE = 'CREATE'
ACTION_UPDATE = 'UPDATE'

ACTION_CHOICES = (
(ACTION_CREATE, 'create'),
(ACTION_UPDATE, 'update'),
)
user = models.ForeignKey(User)
action = models.CharField(choices=ACTION_CHOICES)

更多信息 choices看看 Django choices docs

关于Django Factory Boy - 反向依赖(反向外键)常用配方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44625833/

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