Features:

Fixes: 1) Replace `Count("id")` with `Count("pk")` in commerce queries; 2) Fix `User.objects.get(...)` call by using `uuid` directly instead of accessing nested `serializer.validated_data["user"]["uuid"]`; 3) Add missing closing parenthesis in `VerifyJSONWebToken` call.

Extra: Minor code cleanup and consistency in UUID access pattern across mutations.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-11-18 12:34:55 +03:00
parent 435b7305d7
commit b8b7dcc1d1
2 changed files with 5 additions and 5 deletions

View file

@ -81,7 +81,7 @@ def get_daily_finished_orders_count(period: timedelta = timedelta(days=30)) -> d
Order.objects.filter(status="FINISHED", buy_time__lte=current, buy_time__gte=period_start)
.annotate(day=TruncDate("buy_time"))
.values("day")
.annotate(cnt=Count("id"))
.annotate(cnt=Count("pk"))
.order_by("day")
)
result: dict[date, int] = {}
@ -169,7 +169,7 @@ def get_customer_mix(period: timedelta = timedelta(days=30)) -> dict[str, int]:
return {"new": 0, "returning": 0}
lifetime_counts = (
Order.objects.filter(status="FINISHED", user_id__in=period_users).values("user_id").annotate(c=Count("id"))
Order.objects.filter(status="FINISHED", user_id__in=period_users).values("user_id").annotate(c=Count("pk"))
)
new_cnt = 0
ret_cnt = 0

View file

@ -205,7 +205,7 @@ class ObtainJSONWebToken(BaseMutation):
try:
serializer.is_valid(raise_exception=True)
return ObtainJSONWebToken(
user=User.objects.get(serializer.validated_data["user"]["uuid"]),
user=User.objects.get(uuid=serializer.validated_data["user"]["uuid"]),
refresh_token=serializer.validated_data["refresh"],
access_token=serializer.validated_data["access"],
)
@ -226,7 +226,7 @@ class RefreshJSONWebToken(BaseMutation):
try:
serializer.is_valid(raise_exception=True)
return RefreshJSONWebToken(
user=User.objects.get(serializer.validated_data["user"]["uuid"]),
user=User.objects.get(uuid=serializer.validated_data["user"]["uuid"]),
access_token=serializer.validated_data["access"],
refresh_token=serializer.validated_data["refresh"],
)
@ -248,7 +248,7 @@ class VerifyJSONWebToken(BaseMutation):
serializer.is_valid(raise_exception=True)
# noinspection PyTypeChecker
return VerifyJSONWebToken(
token_is_valid=True, user=User.objects.get(serializer.validated_data["user"]["uuid"])
token_is_valid=True, user=User.objects.get(uuid=serializer.validated_data["user"]["uuid"])
)
detail = traceback.format_exc() if settings.DEBUG else ""
# noinspection PyTypeChecker