Jak uzyskać bezwzględną wartość pola z adnotacjami? Próbowałem kodu poniżej, ale nie działa.
queryset.annotate(relevance=abs(F("capacity") - int( request.GET["capacity"]) ) ).order_by("relevance")
Błąd:
TypeError: bad operand type for abs(): "CombinedExpression"
Z góry dziękuję!
Odpowiedzi:
3 dla odpowiedzi № 1Możesz spróbować z wyrażenia func:
from django.db.models import Func, F
queryset.annotate(relevance=Func(F("capacity") - int(request.GET["capacity"]), function="ABS"))