首页 > 解决方案 > 带有“allow_null”的序列化器字段自动将值设置为 null

问题描述

我有以下序列化程序

class NiceSerializer(serializers.Serializer):
    nice_field = serializers.CharField(required=False, allow_null=True)
    another_field = serializers.IntegerField(required=False)

这就是我的看法

serializer = NiceSerializer(data=request.data, partial=True)
serializer.is_valid(raise_exception=True)
data = serializer.data

变量“data”自动以键“nice_field”结束,.value None。

我需要nice_field可以为空,这就是我放 的原因allow_null=True,但是,有时我会发出一个补丁请求,该请求只应更新 another_field 的值,因此该请求不包含 nice_field 值。问题是在验证请求数据后NiceSerializer自动将值设置为无,这是一个非常不方便的行为。如何编写一个序列化程序,最终可以忽略补丁请求中的字段?

非常感谢

标签: djangodjango-rest-frameworkdjango-serializer

解决方案


推荐阅读