在django querystet中结合使用额外的django查找(不是额外的常量参数)

时间:2012-07-04 10:28:38

标签: python django django-queryset

我想在django queryset中调用postgresql函数,此函数的参数与当前行有关。

让我们假设我有以下查询集:

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

我想添加一个调用函数的额外参数,该函数的参数应该是django lookup foo_baz解析为的名称。

在理想世界中,我想写一下:

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

那个犯规呈现给:

my_function("FOO_TABLE".baz)

2 个答案:

答案 0 :(得分:0)

您通常会使用F() objects来引用这样的列,但我不确定在这种情况下是否可以将extra()与{{1}}一起使用。希望这是你尝试的起点。

答案 1 :(得分:0)

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

  

extra经常会产生比解决更多的问题。目前的趋势是    弃用它而不是扩展它。

     

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