|
1 | | -from datetime import timedelta |
2 | | -from typing import Literal, Self, TypedDict |
| 1 | +from typing import Literal, Self |
3 | 2 |
|
4 | 3 | from django.db import models |
5 | 4 | from django.db.models import Subquery |
6 | 5 | from lookup_property import L |
7 | 6 |
|
8 | | - |
9 | | -class AggregateSectionData(TypedDict): |
10 | | - event_duration: timedelta |
11 | | - min_duration: timedelta |
| 7 | +__all__ = [ |
| 8 | + "ApplicationSectionQuerySet", |
| 9 | +] |
12 | 10 |
|
13 | 11 |
|
14 | 12 | class ApplicationSectionQuerySet(models.QuerySet): |
15 | 13 | def has_status_in(self, statuses: list[str]) -> Self: |
16 | | - return self.alias(status=L("status")).filter(status__in=statuses) |
| 14 | + return self.filter(L(status__in=statuses)) |
17 | 15 |
|
18 | 16 | def has_application_status_in(self, statuses: list[str]) -> Self: |
19 | | - return self.alias(application_status=L("application__status")).filter(application_status__in=statuses) |
| 17 | + return self.filter(L(application__status__in=statuses)) |
20 | 18 |
|
21 | 19 | def order_by_status(self, *, desc: bool = False) -> Self: |
22 | | - return self.alias(status_sort_order=L("status_sort_order")).order_by( |
23 | | - models.OrderBy(models.F("status_sort_order"), descending=desc), |
24 | | - ) |
| 20 | + return self.order_by(L("status_sort_order").order_by(descending=desc)) |
25 | 21 |
|
26 | 22 | def order_by_application_status(self, *, desc: bool = False) -> Self: |
27 | | - return self.alias(application_status_sort_order=L("application__status_sort_order")).order_by( |
28 | | - models.OrderBy(models.F("application_status_sort_order"), descending=desc), |
29 | | - ) |
| 23 | + return self.order_by(L("application__status_sort_order").order_by(descending=desc)) |
30 | 24 |
|
31 | 25 | def order_by_applicant(self, *, desc: bool = False) -> Self: |
32 | | - return self.alias(applicant=L("application__applicant")).order_by( |
33 | | - models.OrderBy(models.F("applicant"), descending=desc), |
34 | | - ) |
| 26 | + return self.order_by(L("application__applicant").order_by(descending=desc)) |
35 | 27 |
|
36 | 28 | def preferred_unit_name_alias(self, *, lang: Literal["fi", "en", "sv"]) -> Self: |
37 | 29 | from applications.models import ReservationUnitOption |
|
0 commit comments