product uchun crud qoshildi

This commit is contained in:
behruz-dev
2025-12-01 15:06:18 +05:00
parent 4d9d0606f5
commit 2d2a0b521c
3 changed files with 198 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
# django
from django.db import transaction
# rest framework
from rest_framework import serializers
# orders
from core.apps.orders.models import Product
class ProductListSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = [
'id', 'name', 'price', 'created_at'
]
class ProductCreateSerializer(serializers.Serializer):
name = serializers.CharField()
price = serializers.DecimalField(decimal_places=2, max_digits=15)
def create(self, validated_data):
with transaction.atomic():
return Product.objects.create(
name=validated_data.get('name'),
price=validated_data.get('price'),
)
class ProductUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = [
'name', 'price'
]
def update(self, instance, validated_data):
with transaction.atomic():
instance.name = validated_data.get('name', instance.name)
instance.price = validated_data.get('price', instance.price)
instance.save()
return instance