我想在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)
答案 0 :(得分:0)
您通常会使用F() objects来引用这样的列,但我不确定在这种情况下是否可以将extra()
与{{1}}一起使用。希望这是你尝试的起点。
答案 1 :(得分:0)
以下是django开发人员对此问题的回复:
extra
经常会产生比解决更多的问题。目前的趋势是 弃用它而不是扩展它。实现目标的推荐方法是使用原始SQL。