From a7efc16cda5dc16ff9ed1c46a8b159801a5f5a34 Mon Sep 17 00:00:00 2001 From: muhammadvadud Date: Tue, 25 Nov 2025 12:16:23 +0500 Subject: [PATCH] Category modeliga o'zgartirish kiritildi --- core/apps/api/filters/category.py | 1 + .../migrations/0004_category_category_type.py | 18 ++++++++++++++++++ core/apps/api/models/ad/category.py | 3 +++ core/apps/api/serializers/category/category.py | 2 ++ 4 files changed, 24 insertions(+) create mode 100644 core/apps/api/migrations/0004_category_category_type.py diff --git a/core/apps/api/filters/category.py b/core/apps/api/filters/category.py index 97d8b4a..732c333 100644 --- a/core/apps/api/filters/category.py +++ b/core/apps/api/filters/category.py @@ -11,4 +11,5 @@ class CategoryFilter(filters.FilterSet): fields = [ "show_home", "id", + "category_type", ] diff --git a/core/apps/api/migrations/0004_category_category_type.py b/core/apps/api/migrations/0004_category_category_type.py new file mode 100644 index 0000000..1bb0995 --- /dev/null +++ b/core/apps/api/migrations/0004_category_category_type.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.7 on 2025-11-25 07:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0003_category_image'), + ] + + operations = [ + migrations.AddField( + model_name='category', + name='category_type', + field=models.CharField(choices=[('Product', 'Product'), ('Service', 'Service'), ('Auto', 'Auto'), ('Home', 'Home')], default='Product', max_length=255, verbose_name='Category Type'), + ), + ] diff --git a/core/apps/api/models/ad/category.py b/core/apps/api/models/ad/category.py index 4ee6afa..224d22d 100644 --- a/core/apps/api/models/ad/category.py +++ b/core/apps/api/models/ad/category.py @@ -1,6 +1,7 @@ from django.db import models from django_core.models.base import AbstractBaseModel from django.utils.translation import gettext_lazy as _ +from core.apps.api.choices import AdCategoryType class Category(AbstractBaseModel): @@ -9,6 +10,8 @@ class Category(AbstractBaseModel): show_home = models.BooleanField(default=False, verbose_name=_('Show Home')) level = models.IntegerField(default=0, verbose_name=_('Level')) image = models.ImageField(verbose_name=_('Image'), null=True, blank=True) + category_type = models.CharField(max_length=255, verbose_name=_('Category Type'), choices=AdCategoryType, + default=AdCategoryType.PRODUCT) def save(self, *args, **kwargs): if self.parent: diff --git a/core/apps/api/serializers/category/category.py b/core/apps/api/serializers/category/category.py index 9436fe8..0e652c4 100644 --- a/core/apps/api/serializers/category/category.py +++ b/core/apps/api/serializers/category/category.py @@ -13,6 +13,7 @@ class BaseCategorySerializer(serializers.ModelSerializer): "name", "show_home", "level", + "category_type", "children", ] @@ -33,6 +34,7 @@ class ListCategoryNoChildSerializer(BaseCategorySerializer): "show_home", "level", "image", + "category_type", ]