如何使FactoryBoy的ImageField在调用save()之前生成图像?

2024-10-06 10:25:02 发布

您现在位置:Python中文网/ 问答频道 /正文

主题。在

现在(工厂男孩版本。2.4.1.)对于本规范:

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

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

在保存时,image将是None,因此,如果Image模型重写了save,并且它使用image操作,它将失败。这正是我的情况。在

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


Tags: djangoimage版本规范主题modelfactory工厂
1条回答
网友
1楼 · 发布于 2024-10-06 10:25:02

我找到了一个解决办法:

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'
            )
        )

相关问题 更多 >