Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在至少指定一个ForeignKey对象属性的情况下获取queryset?_Python_Django_Django Models_Django Queryset - Fatal编程技术网

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)

哦,你说得对!我的错!我几乎可以肯定问题就在这里。它实际上在我代码的另一部分。无论如何,谢谢你!哦,你说得对!我的错!我几乎可以肯定问题就在这里。它实际上在我代码的另一部分。无论如何,谢谢你!