【发布时间】:2014-07-29 11:18:29
【问题描述】:
我使用 model_mommy 和 Django 测试来创建对象。我在创建具有反向 FK 的模型时遇到问题。作为一种解决方法,我可以用相反的方式做,但是虽然它有效,但它看起来并不正确,所以我想知道我是否可以反过来做?
假设我有两个模型,用户和配置文件,通过从配置文件到用户的 FK 相关联(这不是一对一,它只是一个 FK)。 Profile 模型有一个布尔属性调用 is_aardvark。
在模型妈妈中,我可以像这样创建食谱:
aardvark_profile = Recipe(Profile, is_aardvark=True)
non_aardvark_profile = Recipe(Profile, is_aardvark=False)
然后我可以在我的测试中使用 aardvark 配置文件创建一个用户,例如:
user = mommy.create_recipe(aardvark_profile).user
这似乎不对,因为我正在通过 aardvark_profile 配方创建用户。理想情况下,我想通过某种用户配方创建一个用户(也许将来我会有一些其他模型 FKd 给用户,所以上面的方法不起作用)。
我尝试了以下方法,但不起作用:
# doesn't work
broken_aardvark_user = Recipe(User, profile_set=mommy.create_recipe(aardvark_profile)
这甚至可能吗?有任何想法吗?如果一切都失败了,我可以创建一个辅助方法来为我执行此操作。
谢谢!
【问题讨论】:
-
你应该添加一个链接来解释妈妈是什么型号,我从来没有听说过。大概是this library.
标签: django django-testing django-tests model-mommy