如何在django中按文件名过滤图像字段

时间:2011-12-23 05:16:06

标签: python django django-models

我在我的模型中添加一个ImageField,如

class UserImage(models.Model):
    photo = models.ImageField(upload_to='target_path')
    ....

保存图片后,让我们说'a.jpg',然后我想让用户使用文件名'a.jpg'来过滤模型,我该怎么写:

UserImage.objects.filter(photo.filename='a.jpg')
....

2 个答案:

答案 0 :(得分:14)

您的建议会给您一个错误。试试这个:

UserImage.objects.filter(photo='a.jpg')

编辑:Django将upload_path添加到文件名之前。然后查询应该执行类似的操作,例如:

UserImage.objects.filter(photo='images/users/photos/a.jpg')

答案 1 :(得分:1)

以上答案将正常工作,此外,您也可以像我一样使用icontains

comment_qs = Upload.objects.filter(title__icontains = str(file_name))。filter(content_type__model ='Task')