Djangoが実際にQuerySetメソッドからデータベースに当たっているときに印刷する方法が見つかりませんでしたが、ドキュメントによれば、以下の私の例は不必要に2つのクエリを実行するのでしょうか?DjangoはQuerySetがすでに評価されているかどうかチェックしますか?
queryset = MyModel.objects.all()
#Slicing evaluates a query
queryset = queryset[5:10]
#Serializing should also evaluate a query
data = serializers.serialize('json', queryset, fields=('pk', 'name'))
は、なぜそれが2つのクエリを実行する必要が評価操作ではありませんか?もちろん、クエリがすでに評価されている場合、Djangoはそれを再度評価する必要はありません。 –
また、 'django.db.connection.queries'にアクセスすることで、Djangoがどのようなクエリを作成しているのかを表示することができます。[FAQ](https://docs.djangoproject.com/ja/1.10/faq/models/#how- raw-sql-queries-django-is-runningを見ることができます)、またはdjango-debug-toolbarを使用します。 –
環境変数 'DJANGO_LOG_LEVEL = DEBUG'を設定してDjangoを実行してください! –