Djangoのクエリセットから直接「説明」を実行するのは簡単なようですが、その方法について明らかなことは何も見られず、「説明」はドキュメントで検索するのが難しいものです。
質問する
13046 次
3 に答える
36
さて、ツールバー以外には何もないように見えるので、クエリセットのexplain()
メソッドを提供するために独自の mixin を作成しました。
from django.db import connections
from django.db.models.query import QuerySet
class QuerySetExplainMixin:
def explain(self):
cursor = connections[self.db].cursor()
cursor.execute('explain %s' % str(self.query))
return cursor.fetchall()
QuerySet.__bases__ += (QuerySetExplainMixin,)
うまくいけば、これは他の人に役立ちます。
于 2012-07-13T20:57:40.060 に答える
27
QuerySet.explain()
は、Django 2.1.0 以降で利用可能になり、クエリを説明する公式の方法になりました。
于 2018-10-09T20:51:57.403 に答える