为了账号安全,请及时绑定邮箱和手机立即绑定

Django-在视图中返回多个查询集

Django-在视图中返回多个查询集

慕田峪7331174 2021-04-02 10:11:06
的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


查看完整回答
反对 回复 2021-04-27
  • 1 回答
  • 0 关注
  • 238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号