Django:强制选择相关? [英] Django: Force select related?

查看:123
本文介绍了Django:强制选择相关?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经创建了一个模型,我正在渲染默认/未修改的模型窗体。这个单独生成64个SQL查询,因为它有相当多的外键,而这些外键又有更多的外键。

I've created a model, and I'm rendering the default/unmodified model form for it. This alone generates 64 SQL queries because it has quite a few foreign keys, and those in turn have more foreign keys.

是否可以强制它永远(默认情况下)每次返回这些模型之一时,执行 select_related

推荐答案

您可以创建自定义管理器,只需覆盖 get_queryset 即可将其应用到任何地方。例如:

You can create a custom manager, and simply override get_queryset for it to apply everywhere. For example:

class MyManager(models.Manager):
    def get_queryset(self):
        return super(MyManager, self).get_queryset().select_related('foo', 'bar')

(在Django 1.6之前,它是 get_query_set )。

(Prior to Django 1.6, it was get_query_set).

这篇关于Django:强制选择相关?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆