的Django 1.10在我看来,我有一个函数get_queryset(),当前返回一个查询集。此函数是从另一个函数调用的,该函数get_context()获取该数据,使用它获取一些值,然后将所有内容返回到前端。但是,我现在想从中返回2个查询集get_queryset(),其中一个是完整查询集,而另一个已应用了过滤器。我以为我可以做类似的事情:full_results = query.all()# do some filteringfilter_results = full_results.someFilter()return full_results, filter_results但是,我还有另一个功能,这些结果在发送到前端之前先发送到FIRST。我认为我可以使用括号表示法轻松访问这些查询集,如下所示-faceted = self.get_queryset()[0].facet('thing')然而!原来我做不到。我正在尝试在第二个django函数中访问queryset中每个项目的属性,但出现错误-AttributeError: 'SearchQuerySet' object has no attribute 'feature'很明显,我在做错事。有可能做我想做的事吗?还是仅使另一个函数返回此数据会更好?
1 回答

Helenr
TA贡献1780条经验 获得超4个赞
您只能从返回一个查询集get_queryset。但是get_context_data它本身可以扩展以添加任何您喜欢的东西。
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context['filter_results'] = context['full_results'].someFilter()
return context
添加回答
举报
0/150
提交
取消