私の場合:Djangoアプリのある場所で、最適化の目的でプレーンSQLを使用することにしました-複雑な結合が必要でしたが、DjangoORMはそのような仕事をすることができません。しかし、プレーンSQLを使用すると、別の問題が発生しました。この関数は、QuerySetオブジェクトを返すことが望ましいため、不可能になります。
そして、私は疑問に思います-QuerySetsを手動で構築するためのアプローチはありますか?
私の場合:Djangoアプリのある場所で、最適化の目的でプレーンSQLを使用することにしました-複雑な結合が必要でしたが、DjangoORMはそのような仕事をすることができません。しかし、プレーンSQLを使用すると、別の問題が発生しました。この関数は、QuerySetオブジェクトを返すことが望ましいため、不可能になります。
そして、私は疑問に思います-QuerySetsを手動で構築するためのアプローチはありますか?
すぐに利用できる2つのアプローチがあります。
QuerySet.extra
追加のSQLを指定できます。Manager.raw
モデルオブジェクトにマップされることを期待する生のSQLクエリを記述できます。