Python 如何在至少指定一个ForeignKey对象属性的情况下获取queryset?
我有两个与外键相关的型号Python 如何在至少指定一个ForeignKey对象属性的情况下获取queryset?,python,django,django-models,django-queryset,Python,Django,Django Models,Django Queryset,我有两个与外键相关的型号 class Gallery(models.Model): # some attributes class GalleryPhoto(models.Model): gallery = models.ForeignKey(Gallery, related_name='photos') approved = models.BooleanField('approved', default=False) 我想获取与至少一张已批准照片相关的图库对象的查询
class Gallery(models.Model):
# some attributes
class GalleryPhoto(models.Model):
gallery = models.ForeignKey(Gallery, related_name='photos')
approved = models.BooleanField('approved', default=False)
我想获取与至少一张已批准照片相关的图库对象的查询集。我知道如何获取对象,所有照片都经过批准,但这不是我想要实现的:
Gallery.objects.filter(photos__approved=True)
有没有一种简单的方法可以做到这一点?事实上,您的示例完全符合您的要求
Gallery.objects.filter(photos__approved=True)
返回与至少一张已批准照片相关的库对象
若要返回所有照片都获得批准的图库,您必须
Gallery.objects.filter(照片\uuuuu approved=True)。exclude(照片\uuuuu approved=False)
实际上,您的示例完全符合您的要求
Gallery.objects.filter(photos__approved=True)
返回与至少一张已批准照片相关的库对象
若要返回所有照片都获得批准的图库,您必须
Gallery.objects.filter(照片\uuuuu approved=True)。exclude(照片\uuuuu approved=False)
哦,你说得对!我的错!我几乎可以肯定问题就在这里。它实际上在我代码的另一部分。无论如何,谢谢你!哦,你说得对!我的错!我几乎可以肯定问题就在这里。它实际上在我代码的另一部分。无论如何,谢谢你!