1

django クエリセットで postgresql 関数を呼び出したいのですが、この関数のパラメーターは現在の行に関連しています。

次のクエリセットがあるとします。

queryset = Baz.objects.filter(foo = 'foo', foo__bar = 'bar'). 

関数を呼び出す追加の引数を追加したいと思います。この関数の引数は、django ルックアップがfoo_baz解決する名前にする必要があります。

理想的な世界では、次のように書きたいと思います:

queryset.extra(were = "my_function(foo__baz)") 

それは次のようにレンダリングされます:

my_function("FOO_TABLE".baz)
4

2 に答える 2

0

この問題に対する django 開発者からの回答は次のとおりです。

extra多くの場合、解決するよりも多くの問題を作成します。現在の傾向は、それを拡張するのではなく、非推奨にすることです。

目標を達成するための推奨される方法は、生の SQL を使用することです。

于 2012-07-07T19:09:43.087 に答える
0

このような列は通常F() オブジェクトで参照しますが、このような場合に使用できるかどうかはわかりませんextra()。ただし、これが実験の出発点になることを願っています。

于 2012-07-04T11:04:25.847 に答える