You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

35 lines
1.2 KiB

from rest_framework import serializers
from apps.goods.models import *
class GoodsCateSerializer(serializers.Serializer):
id = serializers.IntegerField(read_only=True)
name = serializers.CharField()
class GoodsSerializers(serializers.Serializer):
name = serializers.CharField(required=True, max_length=100)
# category = serializers.CharField(required=False)
category = GoodsCateSerializer(required=False, read_only=True)
market_price = serializers.DecimalField(max_digits=8, decimal_places=2)
price = serializers.DecimalField(max_digits=8, decimal_places=2)
def create(self, validated_data):
print(type(validated_data), validated_data)
return Goods.objects.create(**validated_data)
def update(self, instance, validated_data):
print(type(validated_data), validated_data)
instance.name = validated_data.get('name')
instance.market_price = validated_data.get('market_price')
instance.price = validated_data.get('price')
instance.save()
return instance
class GoodsModelSerializer(serializers.ModelSerializer):
category = GoodsCateSerializer(required=False, read_only=True)
class Meta:
model = Goods
fields = '__all__'