假设有这样一个serializer
:
class EventSerializer(serializers.ModelSerializer):
class Meta:
model = Event
fields = (
'title',
'description'
)
其中description
可为空。我想要的是请求数据完全覆盖PUT请求时的序列化程序数据(当更新现有模型实例时)。如果我这样做了:
event_serializer = EventSerializer(event, data=request_data)
它确实覆盖了所有内容,但如果请求中没有description
,则不会使其无效。有没有一种不用手动操作的方法:
data['description'] = data.get('description', None)
一个选项是在序列化程序上定义
description
字段,并使用default
,如:请参见documentation:
相关问题 更多 >
编程相关推荐