我有一个 drf 序列化器,其中有一个我想重命名的字段:
class UserBulkUploadSerializer(serializers.Serializer):
...
is_admin = serializers.BooleanField(required=False, source='administrator')
然而,在validated_data
属性已重命名回source
属性值。我正在这样做:
serializer = UserBulkUploadSerializer(data=data)
serializer.is_valid()
return serializer.validated_data
而且没有is_admin
钥匙在那里,它是administrator
.
有没有办法克服这个问题并做到这一点is_admin
in validated_data
?
我认为您需要添加两个字段,一个只写字段和一个只读字段。
像这样:
class UserBulkUploadSerializer(serializers.Serializer):
...
administrator = serializers.BooleanField(required=False)
is_admin = serializers.BooleanField(read_only=True, source='administrator')
extra_kwargs = {
'administrator': {'write_only': True},
}
我还无法测试这个,所以我不确定具有相同源的两个字段是否会导致错误,否则你可以将 is_admin 更改为 SerializerMethodField。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)