Django Queryset带注释字段的绝对值

时间:2018-04-17 01:56:57

标签: django django-queryset

如何获得带注释字段的绝对值?我尝试了下面的代码,但它确实无效。

queryset.annotate(relevance=abs(F('capacity') - int( request.GET['capacity']) ) ).order_by('relevance')

错误:

TypeError: bad operand type for abs(): 'CombinedExpression'

提前致谢!

1 个答案:

答案 0 :(得分:4)

您可以尝试使用func expressions

from django.db.models import Func, F

queryset.annotate(relevance=Func(F('capacity') - int(request.GET['capacity']), function='ABS'))