我有两个与外键相关的模型。
class Gallery(models.Model):
# some attributes
class GalleryPhoto(models.Model):
gallery = models.ForeignKey(Gallery, related_name='photos')
approved = models.BooleanField('approved', default=False)
我希望获得与至少一张已批准的照片相关的Gallery
个对象的查询集。我知道如何获得所有照片都被批准的对象,但这不是我想要实现的目标:
Gallery.objects.filter(photos__approved=True)
有一种简单的方法吗?
答案 0 :(得分:3)
实际上,您的示例完全符合您的要求
Gallery.objects.filter(photos__approved=True)
返回与至少一张已批准的照片相关的图库对象。
要返回批准所有照片的画廊,您必须写
Gallery.objects.filter(photos__approved=True).exclude(photos__approved=False)