具有默认模糊场的Factoryboy Django模型

时间:2014-09-05 22:36:57

标签: python django factory-boy

我正在使用工厂工程师来模拟类似下面的模型,我想知道是否有一种更清洁的方式并不涉及复制所有字段。

class ShippingContainer(models.Model):
    weight = models.IntegerField(null=False)
    objects = models.IntegerField(null=False)
    serial_number = models.IntegerField(null=False)


class ShippingContainerFactory(DjangoModelFactory):
    class Meta:
        model = ShippingContainer

    weight = FuzzyInteger(0, 500)
    objects = FuzzyInteger(0, 500)
    serial_number = FuzzyInteger(0, 500)

如果工厂男孩只是推断出模型字段的数字性质并且不需要工厂字段,那将是很好的,例如

class ShippingContainerFactory(DjangoModelFactory):
    class Meta:
        model = ShippingContainer

这可能吗?

1 个答案:

答案 0 :(得分:3)

我不确定你是否可以在factory中做到这一点。但是你可以用model_mommy

在一行中完成

安装model_mommy。

$ pip install model_mommy

创建一个虚拟模型。

from model_mommy import mommy
from your_app.models import ShippingContainer

dummy_shipping_container = mommy.make('ShippingContainer')