【问题标题】:How to create an object that has an ImageField within the test code?如何在测试代码中创建一个具有 ImageField 的对象?
【发布时间】:2021-02-02 17:49:05
【问题描述】:

我正在创建类似于博客文章的内容,博客文章可以包含多张图片。为了能够包含可变数量的图像,我创建了一个名为 Image 的新模型。此模型包含一个ForeignKey 给拥有它的用户,以及一个ImageField

代码:

class Image(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE
    )
    image = models.ImageField(upload_to=get_image_upload_path)

在 post 模型中,我有一个 ManyToManyField 用于 Image 模型。这样,我可以拥有可变数量的图像。

images = models.ManyToManyField('Image', blank=True)

我正在尝试测试我的代码。在其中一项测试中,我尝试创建几张图片,然后创建一个帖子,其中包含要传递到列表中的图片。

如何在测试中创建模型Image 的实例并为其提供图像?

image = Image.objects.create(user=self.user, image=...)

这里应该写什么而不是...

【问题讨论】:

标签: python django image django-models backend


【解决方案1】:

您只需提供要用于测试的图像文件的路径。这是我的做法。

image = Image.objects.create(user=self.user,image='path/to/file.png')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多