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

您通常使用F() 对象引用这样的列,但我不确定您是否可以extra()在这种情况下使用它们。希望这是您尝试的起点。

于 2012-07-04T11:04:25.847 回答
0

以下是 django 开发人员对此问题的回应:

extra往往造成的问题多于解决的问题。当前的趋势是弃用它而不是扩展它。

实现目标的推荐方法是使用原始 SQL。

于 2012-07-07T19:09:43.087 回答