如何始终为特定 django 模型预取相关

Gra*_*ing 4 django django-models prefetch

我的一个模型中有许多相关对象__str__。这使得管理站点运行速度非常慢。

即使没有明确请求,是否可以以始终执行 prefetch_lated 的方式设置模型?

Wil*_*sem 5

您可以实现一个管理器[Django-doc],它会自动将 a 添加.prefetch_related(..)到查询集中。

例如:

class MyModelManager(models.Manager):

    def get_queryset(self):
        return super().get_queryset().prefetch_related('related_model')

class MyModel(models.Model):
    # …

    _base_manager = MyModelManager()
    objects = MyModelManager()
Run Code Online (Sandbox Code Playgroud)