From 7d961556eb2d56f48b0352572b5038389bc3fab3 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Sat, 6 Sep 2025 17:40:05 +0500 Subject: [PATCH] fix --- core/apps/admin_panel/serializers/product.py | 4 ++-- .../0009_alter_orderitem_quantity.py | 18 ++++++++++++++++++ core/apps/orders/models/order.py | 2 +- core/apps/orders/serializers/order.py | 2 +- .../migrations/0010_product_min_quantity.py | 18 ++++++++++++++++++ core/apps/products/models/product.py | 1 + core/apps/products/serializers/product.py | 2 +- 7 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 core/apps/orders/migrations/0009_alter_orderitem_quantity.py create mode 100644 core/apps/products/migrations/0010_product_min_quantity.py diff --git a/core/apps/admin_panel/serializers/product.py b/core/apps/admin_panel/serializers/product.py index 28b8197..8a3b6a1 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', 'tg_id', 'code', 'article', 'quantity_left' + 'id', 'name_uz', 'name_ru', 'image', 'category', 'price', 'description_uz', 'description_ru', 'unity', 'tg_id', 'code', 'article', 'quantity_left', 'min_quantity' ] def get_category(self, obj): @@ -21,7 +21,7 @@ class ProductSerializer(serializers.ModelSerializer): class Meta: model = Product fields = [ - 'name_uz', 'name_ru', 'image', 'category', 'price', 'description_uz', 'description_ru', 'unity', 'tg_id', 'code', 'article', 'quantity_left' + 'name_uz', 'name_ru', 'image', 'category', 'price', 'description_uz', 'description_ru', 'unity', 'tg_id', 'code', 'article', 'quantity_left', 'min_quantity' ] extra_kwargs = { 'image': {'required':False}, diff --git a/core/apps/orders/migrations/0009_alter_orderitem_quantity.py b/core/apps/orders/migrations/0009_alter_orderitem_quantity.py new file mode 100644 index 0000000..9526310 --- /dev/null +++ b/core/apps/orders/migrations/0009_alter_orderitem_quantity.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2 on 2025-09-06 17:05 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('orders', '0008_alter_order_payment_type'), + ] + + operations = [ + migrations.AlterField( + model_name='orderitem', + name='quantity', + field=models.FloatField(), + ), + ] diff --git a/core/apps/orders/models/order.py b/core/apps/orders/models/order.py index aad3593..88ff6c8 100644 --- a/core/apps/orders/models/order.py +++ b/core/apps/orders/models/order.py @@ -37,7 +37,7 @@ class Order(BaseModel): class OrderItem(BaseModel): order = models.ForeignKey(Order, on_delete=models.CASCADE, related_name='items') - quantity = models.PositiveIntegerField() + quantity = models.FloatField() price = models.PositiveBigIntegerField() product = models.ForeignKey(Product, on_delete=models.CASCADE, related_name='items', null=True) diff --git a/core/apps/orders/serializers/order.py b/core/apps/orders/serializers/order.py index d79078f..cab61db 100644 --- a/core/apps/orders/serializers/order.py +++ b/core/apps/orders/serializers/order.py @@ -10,7 +10,7 @@ from core.apps.orders.tasks.order_item import send_orders_to_tg_bot class OrderItemCreateSerializer(serializers.Serializer): product_id = serializers.UUIDField() - quantity = serializers.IntegerField() + quantity = serializers.FloatField() def validate(self, data): product = Product.objects.filter(id=data['product_id']).first() diff --git a/core/apps/products/migrations/0010_product_min_quantity.py b/core/apps/products/migrations/0010_product_min_quantity.py new file mode 100644 index 0000000..f0597f8 --- /dev/null +++ b/core/apps/products/migrations/0010_product_min_quantity.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2 on 2025-09-06 17:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0009_alter_category_options_category_order'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='min_quantity', + field=models.FloatField(null=True), + ), + ] diff --git a/core/apps/products/models/product.py b/core/apps/products/models/product.py index a954ca9..a73c937 100644 --- a/core/apps/products/models/product.py +++ b/core/apps/products/models/product.py @@ -26,6 +26,7 @@ class Product(BaseModel): article = models.CharField(max_length=200, null=True, blank=True, unique=True) code = models.CharField(max_length=200, null=True, blank=True) quantity_left = models.PositiveBigIntegerField(default=0) + min_quantity = models.FloatField(null=True) def __str__(self): return self.name diff --git a/core/apps/products/serializers/product.py b/core/apps/products/serializers/product.py index 1c0f43e..310826e 100644 --- a/core/apps/products/serializers/product.py +++ b/core/apps/products/serializers/product.py @@ -11,7 +11,7 @@ class ProductListSerializer(serializers.ModelSerializer): class Meta: model = Product fields = [ - 'id', 'name', 'image', 'price', 'description', 'liked', 'unity', + 'id', 'name', 'image', 'price', 'description', 'liked', 'unity', 'min_quantity' ] def get_liked(self, obj):