* Checklist.bonus_used as an absolute value

This commit is contained in:
Phil Zhitnikov 2024-05-21 01:15:55 +04:00
parent 490bc6b592
commit 9731181ce2

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))