db va type togirlandi
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
from .category import * # noqa
|
||||
from .products import * # noqa
|
||||
from .type import * # noqa
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
1
core/apps/api/serializers/type/__init__.py
Normal file
1
core/apps/api/serializers/type/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .type import * # noqa
|
||||
31
core/apps/api/serializers/type/type .py
Normal file
31
core/apps/api/serializers/type/type .py
Normal 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",
|
||||
|
||||
]
|
||||
21
core/apps/api/serializers/type/type.py
Normal file
21
core/apps/api/serializers/type/type.py
Normal 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"]
|
||||
Reference in New Issue
Block a user