From da94330701f73e2d7d1c132f593a7f6939db5e8d Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Thu, 4 Sep 2025 16:13:59 +0500 Subject: [PATCH] add: add new field for product --- core/apps/admin_panel/serializers/product.py | 7 +++-- ...duct_code_product_irticle_product_tg_id.py | 28 +++++++++++++++++++ .../0006_rename_irticle_product_article.py | 18 ++++++++++++ core/apps/products/models/product.py | 3 ++ 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 core/apps/products/migrations/0005_product_code_product_irticle_product_tg_id.py create mode 100644 core/apps/products/migrations/0006_rename_irticle_product_article.py diff --git a/core/apps/admin_panel/serializers/product.py b/core/apps/admin_panel/serializers/product.py index d90da62..4c0b873 100644 --- a/core/apps/admin_panel/serializers/product.py +++ b/core/apps/admin_panel/serializers/product.py @@ -7,7 +7,7 @@ class AdminProductListSerializer(serializers.ModelSerializer): class Meta: model = Product fields = [ - 'id', 'name_uz', 'name_ru', 'image', 'category', 'price', 'description_uz', 'description_ru', 'unity' + 'id', 'name_uz', 'name_ru', 'image', 'category', 'price', 'description_uz', 'description_ru', 'unity', 'tg_id', 'code', 'article', ] def get_category(self, obj): @@ -21,11 +21,14 @@ class ProductSerializer(serializers.ModelSerializer): class Meta: model = Product fields = [ - 'name_uz', 'name_ru', 'image', 'category', 'price', 'description_uz', 'description_ru', 'unity' + 'name_uz', 'name_ru', 'image', 'category', 'price', 'description_uz', 'description_ru', 'unity', 'tg_id', 'code', 'article', ] extra_kwargs = { 'image': {'required':False}, 'category': {'required':False}, 'price': {'required':False}, + 'tg_id': {'required': False}, + 'code': {'required': False}, + 'article': {'required': False} } diff --git a/core/apps/products/migrations/0005_product_code_product_irticle_product_tg_id.py b/core/apps/products/migrations/0005_product_code_product_irticle_product_tg_id.py new file mode 100644 index 0000000..85a8cb3 --- /dev/null +++ b/core/apps/products/migrations/0005_product_code_product_irticle_product_tg_id.py @@ -0,0 +1,28 @@ +# Generated by Django 5.2 on 2025-09-04 16:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0004_unity_name_ru_unity_name_uz'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='code', + field=models.CharField(blank=True, max_length=200, null=True, unique=True), + ), + migrations.AddField( + model_name='product', + name='irticle', + field=models.CharField(blank=True, max_length=200, null=True, unique=True), + ), + migrations.AddField( + model_name='product', + name='tg_id', + field=models.CharField(blank=True, max_length=50, null=True), + ), + ] diff --git a/core/apps/products/migrations/0006_rename_irticle_product_article.py b/core/apps/products/migrations/0006_rename_irticle_product_article.py new file mode 100644 index 0000000..25282e3 --- /dev/null +++ b/core/apps/products/migrations/0006_rename_irticle_product_article.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2 on 2025-09-04 16:10 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0005_product_code_product_irticle_product_tg_id'), + ] + + operations = [ + migrations.RenameField( + model_name='product', + old_name='irticle', + new_name='article', + ), + ] diff --git a/core/apps/products/models/product.py b/core/apps/products/models/product.py index e7c36e1..724a882 100644 --- a/core/apps/products/models/product.py +++ b/core/apps/products/models/product.py @@ -22,6 +22,9 @@ class Product(BaseModel): price = models.PositiveBigIntegerField() description = models.TextField(null=True, blank=True) unity = models.ForeignKey(Unity, on_delete=models.CASCADE, related_name='products', null=True) + tg_id = models.CharField(max_length=50, null=True, blank=True) + article = models.CharField(max_length=200, null=True, blank=True, unique=True) + code = models.CharField(max_length=200, unique=True, null=True, blank=True) def __str__(self): return self.name