【问题标题】:Django view queryset - how to remove duplicate queriesDjango 视图查询集 - 如何删除重复查询
【发布时间】:2016-03-08 09:47:34
【问题描述】:

这是我的视图我按用户过滤表,模型作为另一个表的外键。

class LaListaView(ListView):
    def get_queryset(self, **kwargs):
        qs = super(OraListView, self).get_queryset()
        qs= qs.filter(Q(cod_operatore=self.request.user.username) ).prefetch_related()
        qs= qs.select_related()
        return qs

从 django 调试工具栏我得到:

选择••• FROM "mat_app_materiale" WHERE "mat_app_materiale"."rapp_rif_id" = 282 LIMIT 1 复制 50 次。

重复50次动作可以去掉吗?如果是怎么办?

【问题讨论】:

标签: django django-queryset


【解决方案1】:

你肯定不想要prefetch_related(),因为没有参数它什么都不做。

你想要prefetch_related('parent_field_name')

【讨论】:

    猜你喜欢
    • 2016-09-30
    • 2018-10-26
    • 2011-06-01
    • 2011-08-18
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2017-06-13
    相关资源
    最近更新 更多