【发布时间】:2017-12-05 20:57:47
【问题描述】:
我有一个 Django 模型,我想使用 Factoryboy 进行测试。
这里的问题是这些字段相互依赖。
class SearchPreferences(models.Model):
min_age = models.PositiveSmallIntegerField(null=True)
max_age = models.PositiveSmallIntegerField(null=True)
在这种情况下,max_age 不能小于 min_age。
class SearchPreferencesFactory(DjangoModelFactory):
min_age = FuzzyInteger(30, 90)
max_age = FuzzyInteger(SelfAttribute('min_age'), 100)
这是我尝试做的,它应该给我一个介于 min_age 和 100 之间的 max_age 的值,但是会发生 TypeError:
TypeError: unsupported operand type(s) for +: 'SelfAttribute' and 'int'
这对我来说很有意义,但我真的不知道如何让它发挥作用?
有人能解释一下这里最好的方法是什么吗?
【问题讨论】:
标签: django python-3.x factory-boy