DRF的Serializer和ModelSerializer
一般的Serializer要自己手动添加各个字段:
class GoodsSerializer(serializers.Serializer): # 这里各个字段都会放到validate_data里 def update(self, instance, validated_data): pass def create(self, validated_data): return Goods.objects.create(**validated_data) name = serializers.CharField(required=True, max_length=100) click_num = serializers.IntegerField(default=0) goods_front_image = serializers.ImageField() # ...
使用ModelSerializer可以免去这种繁琐的一个个添加字段的方式:
class GoodsSerializer(serializers.ModelSerializer): class Meta: model = Goods fields = ('name', 'click_num', 'market_price', 'add_time')
使用fields = "__all__"即可将所有字段都序列化。