みんな。
私は Django 1.3 と Postgres 9.0 を使用しています。単純なモデル テーブル ルックアップをいくつかの追加フィールドで拡張する非常に複雑な SQL クエリがあります。また、パラメーター化されているため、テーブル関数でラップされています。
raw クエリの助けを借りてなんとか動作させることができた 1 か月前に、RawQuerySet には本当に必要な多くの機能 (フィルター、count() および clone() メソッド、連鎖可能性) が欠けています。
アイデアはシンプルに見えます。QuerySet を使用すると、次のクエリを実行できます。
SELECT "table"."field1", ... ,"table"."fieldN" FROM "table"
一方、私はこれを行う必要があります:
SELECT "table"."field1", ... ,"table"."fieldN" FROM proxy(param1, param2)
質問は次のとおりです。どうすればこれを行うことができますか? 既にカスタム マネージャーの作成を開始しましたが、model.db_table をカスタム文字列で置き換えることはできません (引用されており、データベースが関数呼び出しの認識を停止するため)。
テーブルを関数に置き換える方法がない場合は、RawQuerySet から QuerySet を作成できるかどうかを知りたいです (最もクリーンなソリューションではありませんが、単純な RawQuerySet は体の一部に大きな苦痛をもたらします)。