12

主题。

现在(Factory Boy ver. 2.4.1.)使用以下代码:

class ImageFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Image

    image = factory.django.ImageField(width=1024, height=768)

imageNone在保存时间,因此如果Image模型已save被覆盖并且它与 一起运行image,它将失败。这正是我的情况。

那么 - 如何在调用之前生成图像save

4

1 回答 1

21

我找到了一种解决方法:

from django.core.files.base import ContentFile

class ImageFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Image

    image = factory.LazyAttribute(
            lambda _: ContentFile(
                factory.django.ImageField()._make_data(
                    {'width': 1024, 'height': 768}
                ), 'example.jpg'
            )
        )
于 2014-09-13T10:06:05.300 回答