如何获取带注解字段的绝对值?我尝试了下面的代码,但它不起作用。
queryset.annotate(relevance=abs(F('capacity') - int( request.GET['capacity']) ) ).order_by('relevance')
错误:
TypeError: bad operand type for abs(): 'CombinedExpression'先谢了!
TypeError: bad operand type for abs(): 'CombinedExpression'
pgky5nke1#
你可以尝试使用func表达式:
from django.db.models import Func, F queryset.annotate(relevance=Func(F('capacity') - int(request.GET['capacity']), function='ABS'))
6mzjoqzu2#
使用你自己的django函数,你可以
from django.db.models.expressions import Func, Value class ABS(Func): function = "ABS" queryset.annotate(relevance=ABS(F('capacity') - Value(int(request.GET['capacity']))))
2条答案
按热度按时间pgky5nke1#
你可以尝试使用func表达式:
6mzjoqzu2#
使用你自己的django函数,你可以