Python 如何在django中按文件名过滤imagefield

Python 如何在django中按文件名过滤imagefield,python,django,django-models,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') .... 你的建议会给你一个错误。请尝试以下方法: Use

我在模型中添加一个ImageField,如下所示

class UserImage(models.Model):
    photo = models.ImageField(upload_to='target_path')
    ....
保存图像后,比如说“a.jpg”,然后我希望用户使用文件名“a.jpg”来过滤模型,我应该这样写:

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

你的建议会给你一个错误。请尝试以下方法:

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

Edit:Django在文件名前面加上上传路径。然后,查询应执行类似的操作,例如:


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

上述答案将正确运行,而且您也可以像我使用的一样使用icontains

comment\u qs=Upload.objects.filter(title\u icontains=str(file\u name)).filter(content\u type\u model='Task')