Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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 错误';QuerySet';对象没有属性';订户';_Python_Django_Django Orm - Fatal编程技术网

Python 错误';QuerySet';对象没有属性';订户';

Python 错误';QuerySet';对象没有属性';订户';,python,django,django-orm,Python,Django,Django Orm,我在一个名为Book的模型上有一个一般关系: subscribers = GenericRelation(Subscriber) 因此,如果我想找到一本书的所有订户,我会这样做: self.subscribers.all() 然而,当我试图对一组书籍进行同样的查询时: subscribers = queryset.subscribers.all() 我得到一个错误: 'QuerySet' object has no attribute 'subscribers' 为什么??可以这样做吗?

我在一个名为Book的模型上有一个
一般关系

subscribers = GenericRelation(Subscriber)
因此,如果我想找到一本书的所有订户,我会这样做:

self.subscribers.all()
然而,当我试图对一组书籍进行同样的查询时:

subscribers = queryset.subscribers.all()
我得到一个错误:

'QuerySet' object has no attribute 'subscribers'

为什么??可以这样做吗?

订户关系在模型上,而不是在查询集上。您可以迭代查询集,并获取每个实例的订阅者

for book in queryset:
    subscribers = book.subscribers.all()
如果要获取已订阅queryset中任何书籍的所有订阅者,需要设置
相关的\u query\u name
(注意,这仅适用于Django 1.7+)

然后,您可以通过以下方式获得queryset的订阅服务器:

subscribers = Subscriber.objects.filter(books__in=queryset)

有关更多信息,请参阅上的文档。

订阅者关系在模型上,而不是查询集上。您可以迭代查询集,并获取每个实例的订阅者

for book in queryset:
    subscribers = book.subscribers.all()
如果要获取已订阅queryset中任何书籍的所有订阅者,需要设置
相关的\u query\u name
(注意,这仅适用于Django 1.7+)

然后,您可以通过以下方式获得queryset的订阅服务器:

subscribers = Subscriber.objects.filter(books__in=queryset)

有关更多信息,请参阅上的文档。

订阅者仅按本书提供。如果要获取(查询)一组书籍的所有可能订阅者,则需要使用以下查询检索它们:

Subscriber.objects.filter(book__in=queryset)

您可能需要添加一个
.distinct()
,以过滤出重复的内容。

订阅者只能按本书提供。如果要获取(查询)一组书籍的所有可能订阅者,则需要使用以下查询检索它们:

Subscriber.objects.filter(book__in=queryset)

您可能需要添加一个
.distinct()
来过滤重复项。

谢谢,这是有意义的。谢谢,这是有意义的。请注意,因为它是一个泛型关系,所以您需要设置
相关的查询名称才能起作用。请注意,因为它是一个泛型关系,您需要先设置
相关的\u查询\u名称
,然后才能执行此操作。