* Checklist.bonus_used as an absolute value

This commit is contained in:
Phil Zhitnikov 2024-05-21 01:15:55 +04:00
parent 0c51a7c3fb
commit fa5e1cd860

View File

@ -13,7 +13,7 @@ from django.core.files.base import ContentFile
from django.core.validators import MinValueValidator, MaxValueValidator
from django.db import models
from django.db.models import F, Case, When, DecimalField, Prefetch, Max, Q, Subquery, OuterRef
from django.db.models.functions import Ceil, Coalesce
from django.db.models.functions import Ceil, Coalesce, Abs
from django.db.models.lookups import GreaterThan
from django.db.transaction import atomic
from django.utils import timezone
@ -215,7 +215,7 @@ class ChecklistQuerySet(models.QuerySet):
order_id=OuterRef('id'))
.values('amount'))
return self.annotate(_bonus_used=Coalesce(amount_subquery, 0))
return self.annotate(_bonus_used=Coalesce(Abs(amount_subquery), 0))
def default_ordering(self):
return self.order_by(F('status_updated_at').desc(nulls_last=True))