db va type togirlandi

This commit is contained in:
khego
2026-03-31 20:46:54 +05:00
parent cf23a61b98
commit 2dee1cc1e6
39 changed files with 5733 additions and 21 deletions

View File

@@ -1,2 +1,3 @@
from .category import * # noqa
from .products import * # noqa
from .type import * # noqa

View File

@@ -2,10 +2,19 @@ from rest_framework import serializers
from core.apps.api.models import CategoryModel
from core.apps.api.serializers.category.subcategory import BaseSubcategorySerializer
from core.apps.api.serializers.type.type import BaseTypeSerializer
class BaseCategorySerializer(serializers.ModelSerializer):
subcategories = BaseSubcategorySerializer(many=True, read_only=True)
type = BaseTypeSerializer(read_only=True)
type_id = serializers.PrimaryKeyRelatedField(
source="type",
queryset=CategoryModel._meta.get_field("type").related_model.objects.all(),
write_only=True,
required=False,
allow_null=True,
)
class Meta:
model = CategoryModel
@@ -13,6 +22,7 @@ class BaseCategorySerializer(serializers.ModelSerializer):
"id",
"name",
"type",
"type_id",
"order",
"image",
"active_image",
@@ -42,6 +52,7 @@ class CreateCategorySerializer(BaseCategorySerializer):
fields = [
"id",
"name",
"type_id",
"order",
"image",
"active_image",

View File

@@ -4,7 +4,7 @@ from core.apps.api.models import ProductsModel, SubProductModel
class SubProductSerializer(serializers.ModelSerializer):
type = serializers.CharField(source="product.subcategory.category.type", read_only=True)
type = serializers.CharField(source="product.subcategory.category.type.name", read_only=True)
class Meta:
model = SubProductModel
@@ -20,7 +20,7 @@ class SubProductSerializer(serializers.ModelSerializer):
class BaseProductsSerializer(serializers.ModelSerializer):
subproducts = SubProductSerializer(many=True, read_only=True)
type = serializers.CharField(source="subcategory.category.type", read_only=True)
type = serializers.CharField(source="subcategory.category.type.name", read_only=True)
class Meta:
model = ProductsModel

View File

@@ -0,0 +1 @@
from .type import * # noqa

View File

@@ -0,0 +1,31 @@
from core.apps.api.models import Type Model
from rest_framework import serializers
class BaseType Serializer(serializers.ModelSerializer):
class Meta:
model = Type Model
fields = [
"id",
"name",
]
class ListType Serializer(BaseType Serializer):
class Meta(BaseType Serializer.Meta): ...
class RetrieveType Serializer(BaseType Serializer):
class Meta(BaseType Serializer.Meta): ...
class CreateType Serializer(BaseType Serializer):
class Meta(BaseType Serializer.Meta):
fields = [
"id",
"name",
]

View File

@@ -0,0 +1,21 @@
from core.apps.api.models import TypeModel
from rest_framework import serializers
class BaseTypeSerializer(serializers.ModelSerializer):
class Meta:
model = TypeModel
fields = ["id", "name"]
class ListTypeSerializer(BaseTypeSerializer):
class Meta(BaseTypeSerializer.Meta): ...
class RetrieveTypeSerializer(BaseTypeSerializer):
class Meta(BaseTypeSerializer.Meta): ...
class CreateTypeSerializer(BaseTypeSerializer):
class Meta(BaseTypeSerializer.Meta):
fields = ["id", "name"]