我正在使用带有 Django 测试的model_mommy来创建对象。我在创建具有反向 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)
这甚至可能吗?有任何想法吗?如果一切都失败了,我可以创建一个辅助方法来为我做这件事。
谢谢!