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__"即可将所有字段都序列化。

posted @ 2019-01-15 20:00  LauZyHou  阅读(582)  评论(0编辑  收藏  举报