From 4e2c4c7ccbded6db00b8298bcea7d6185ecc57ec Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Mon, 1 Sep 2025 20:52:42 +0300 Subject: [PATCH] Features: 1) Add `sku` field to multiple serializers and GraphQL object types for better product identification; Fixes: 1) Remove unnecessary `IntegrityError` import in 0038_backfill_product_sku migration; Extra: 1) Minor formatting cleanup in migration files. --- core/graphene/object_types.py | 1 + core/migrations/0038_backfill_product_sku.py | 2 +- core/migrations/0039_alter_product_sku.py | 1 - core/serializers/detail.py | 1 + core/serializers/simple.py | 1 + 5 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/graphene/object_types.py b/core/graphene/object_types.py index b2a5c906..da120db3 100644 --- a/core/graphene/object_types.py +++ b/core/graphene/object_types.py @@ -507,6 +507,7 @@ class ProductType(DjangoObjectType): interfaces = (relay.Node,) fields = ( "uuid", + "sku", "category", "brand", "tags", diff --git a/core/migrations/0038_backfill_product_sku.py b/core/migrations/0038_backfill_product_sku.py index 44abefde..61b5831e 100644 --- a/core/migrations/0038_backfill_product_sku.py +++ b/core/migrations/0038_backfill_product_sku.py @@ -1,4 +1,4 @@ -from django.db import migrations, transaction, IntegrityError +from django.db import migrations, transaction def generate_unique_sku(Product, make_candidate, taken): diff --git a/core/migrations/0039_alter_product_sku.py b/core/migrations/0039_alter_product_sku.py index c8bc0ba6..f7363647 100644 --- a/core/migrations/0039_alter_product_sku.py +++ b/core/migrations/0039_alter_product_sku.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ("core", "0038_backfill_product_sku"), ] diff --git a/core/serializers/detail.py b/core/serializers/detail.py index 8feceb33..9609a81b 100644 --- a/core/serializers/detail.py +++ b/core/serializers/detail.py @@ -326,6 +326,7 @@ class ProductDetailSerializer(ModelSerializer): model = Product fields = [ "uuid", + "sku", "name", "description", "partnumber", diff --git a/core/serializers/simple.py b/core/serializers/simple.py index 658f5fe4..2358fb5c 100644 --- a/core/serializers/simple.py +++ b/core/serializers/simple.py @@ -163,6 +163,7 @@ class ProductSimpleSerializer(ModelSerializer): fields = [ "uuid", "name", + "sku", "is_digital", "slug", "description",