From 6d24ee0c929bce610f4ee65f27779fc5cdaec4ae Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Mon, 2 Mar 2026 00:33:21 +0300 Subject: [PATCH] refactor(core): use `defaults` in `get_or_create` and add annotations Refactored `get_or_create` calls in `demo_data.py` to use the `defaults` parameter for cleaner code and consistency. Added type annotations for `get_min_price` and `get_max_price` in serializers for improved type safety. --- engine/core/management/commands/demo_data.py | 26 +++++++++++--------- engine/core/serializers/detail.py | 4 +-- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/engine/core/management/commands/demo_data.py b/engine/core/management/commands/demo_data.py index 9ddccca2..7d7a1f8f 100644 --- a/engine/core/management/commands/demo_data.py +++ b/engine/core/management/commands/demo_data.py @@ -99,11 +99,13 @@ class Command(BaseCommand): def staff_user(self): user, _ = User.objects.get_or_create( email=f"staff@{DEMO_EMAIL_DOMAIN}", - first_name="Alice", - last_name="Schon", - is_staff=True, - is_active=True, - is_verified=True, + defaults={ + "first_name": "Alice", + "last_name": "Schon", + "is_staff": True, + "is_active": True, + "is_verified": True, + }, ) if _: user.set_password("Staff!Demo888") @@ -116,12 +118,14 @@ class Command(BaseCommand): def super_user(self): user, _ = User.objects.get_or_create( email=f"super@{DEMO_EMAIL_DOMAIN}", - first_name="Bob", - last_name="Schon", - is_superuser=True, - is_staff=True, - is_active=True, - is_verified=True, + defaults={ + "first_name": "Bob", + "last_name": "Schon", + "is_superuser": True, + "is_staff": True, + "is_active": True, + "is_verified": True, + }, ) if _: user.set_password("Super!Demo888") diff --git a/engine/core/serializers/detail.py b/engine/core/serializers/detail.py index f656cbb0..e8d978f3 100644 --- a/engine/core/serializers/detail.py +++ b/engine/core/serializers/detail.py @@ -107,10 +107,10 @@ class CategoryDetailSerializer(ModelSerializer): return list(serializer.data) return [] - def get_min_price(self, obj: Category): + def get_min_price(self, obj: Category) -> float: return obj.min_price - def get_max_price(self, obj: Category): + def get_max_price(self, obj: Category) -> float: return obj.max_price