django_rest_framework自定义序列化处理数据为null的情况

如下图
django_rest_framework自定义序列化处理数据为null的情况_第1张图片

如果每个null都让前端处理,数据量大的话,会很浪费前端资源的。所以建议在后端处理掉。只需要在对应的serializer类中添加如下函数

class xxxTableSerializer(serializers.ModelSerializer):

    class Meta:
        model = xxx
        exclude = ('id',)

# 这里
    def to_representation(self, instance):
        data = super().to_representation(instance)
        if not data['xxx']:
            data['xxx'] = 0.0
        if not data['xxx']:
            data['xxx'] = '-'
        return data

就可以完成。不过最好的方法是在model那边设好默认值。毕竟在serializer这里添加此函数,对序列化处理过程也是增加负担。

你可能感兴趣的:(Django)