【发布时间】:2015-05-18 08:44:57
【问题描述】:
我正在尝试过滤查询集,以排除没有文件的查询集。而且我无法让它工作,除非通过无数次迭代。
class Something(models.Model):
name = models.CharField(max_length=512)
file = models.FieldField(upload_to="files", null=True, blank=True)
然后,得到一个有文件的
# this give me all objects
Something.objects.exclude(file__exact='')
# this is a valid solution, but hell, something easier should exist,
something_with_files = set()
for s in Something.objects.all():
if s.file:
something_with_files.add(s)
解决这个问题的真正方法是什么?
PS:在 PostGres 上工作,我不知道那是否能改变任何事情。
【问题讨论】:
-
当您说
file = models.FieldField(...时,您的意思是file = models.FileField(...?FieldField在 Django 中不存在。
标签: python django postgresql django-queryset