【发布时间】:2011-08-20 22:08:03
【问题描述】:
我只想退回没有关联图片的商品。我的关系是这样的:
class Post(models.Model):
....fields
class Photo(models.Model):
post=models.ForeignKey(Post,blank=True,null=True)
photo=models.FileField(upload_to="pics")
def __unicode__(self):
return str(self.post)
我将以下查询放在一起以返回 Photo 不为空的 Post 实例:
posts=Post.objects.filter(photo__photo__isnull=False)
问题在于,根据与 Post 实例相关的 Photo 实例的数量,它会返回每个 Post 实例的多个副本。换句话说,一篇文章有 5 张照片,因此它在查询集中返回了 5 张副本。我查看了文档,这有点棘手。我最终使用了 distinct(),但我认为我可以让它立即工作。
谢谢
【问题讨论】:
标签: sql django django-models django-queryset