2012-07-04 33 views
1

我想在django queryset中調用postgresql函數,此函數的參數與當前行相關。在django querystet結合Django查找使用額外(不是額外的常量參數)

讓我們假設我有以下查詢集:

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

,我想補充一點,調用一個函數一個額外的參數,而這個函數的參數應該是Django的查找foo_baz解析爲名稱。

在理想的世界裏,我想這樣寫:

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

竟被那渲染爲:

my_function("FOO_TABLE".baz) 

回答

0

下面是應對這個問題從Django開發:

extra往往造成比它解決的問題多。目前的趨勢是 棄用而不是擴展它。

實現您的目標的推薦方法是使用原始SQL。

0

你引用列像這樣與F() objects一般,但我不知道,如果你能在這種情況下使用extra()。希望這是你嘗試的起點。

+0

我會試試看,謝謝。 –

+0

它沒有工作。 –