如何获得带注释字段的绝对值?我尝试了下面的代码,但它确实无效。
queryset.annotate(relevance=abs(F('capacity') - int( request.GET['capacity']) ) ).order_by('relevance')
错误:
TypeError: bad operand type for abs(): 'CombinedExpression'
提前致谢!
答案 0 :(得分:4)
您可以尝试使用func expressions:
from django.db.models import Func, F
queryset.annotate(relevance=Func(F('capacity') - int(request.GET['capacity']), function='ABS'))