用请求数据覆盖序列化程序,该请求数据包括缺少键的空值

wswld

让我们想象有一个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)
山姆·R。

一种选择是description在序列化程序上定义字段,并使用default类似:

class EventSerializer(serializers.ModelSerializer):
    
    # Use proper field type here instead of CharField
    description = serializers.CharField(default=None)

    class Meta:
        model = Event
        fields = (
            'title',
            'description'
        )

也请参阅文档

默认

如果设置,则给出默认值,如果没有提供输入值,该默认值将用于该字段。如果未设置,则默认行为是根本不填充该属性。

可以设置为函数或其他可调用函数,在这种情况下,每次使用该值时都会对其求值。

请注意,设置默认值意味着该字段不是必需的。同时包含default和required关键字参数是无效的,并且会引发错误。

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

OpenSSL:指定应用程序数据的数据包大小

분류에서Dev

处理数据库或应用程序上的空值?

분류에서Dev

Json编码或序列化XML

분류에서Dev

反序列化对象的Arraylist

분류에서Dev

Express JS 4.0,提供二进制数据,请求Accept标头更改输出

분류에서Dev

监视Google Chrome扩展程序发出的请求

분류에서Dev

使用GSON自定义反序列化枚举

분류에서Dev

C#Json反序列化失败

분류에서Dev

使用jdbc-message-channel的序列化错误

분류에서Dev

从Java Server到Android客户端:无法接收TCP数据包

분류에서Dev

protobuf-net:回调,用于确定要序列化的对象

분류에서Dev

REST错误响应和客户端服务器POJO序列化

분류에서Dev

子类的C#XML序列化-从根节点删除xmlns:p1和p1:type属性

분류에서Dev

对于跨域OPTIONS请求,飞行前OPTIONS请求之后是“常规” OPTIONS请求吗?

분류에서Dev

最小化/转换字符串而不会丢失数据

분류에서Dev

C ++中的初始化程序列表和类初始化。我有无参数构造函数,但仍必须使用初始化列表?

분류에서Dev

格式化日期以包括星期几

분류에서Dev

为什么Javascript和AJAX调用(页面加载)导致数据库行为空?(Facebook画布)

분류에서Dev

将Geoserver cURL转换为python请求

분류에서Dev

PHP的麻烦与JSON获取Ajax请求

분류에서Dev

PhantomJS是否在多个请求之间共享内存?

분류에서Dev

这个Ebean请求有什么问题

분류에서Dev

int键从特定值开始

분류에서Dev

如何将所有HTTPS请求重定向到HTTP请求?

분류에서Dev

使用多设备应用程序在Delphi xe7中的StatusBar中显示数据

분류에서Dev

使用jQuery在一页中处理多页请求

분류에서Dev

如何处理Android中失败的AudioFocus请求?

분류에서Dev

Python3.4读取内容流Web请求

분류에서Dev

如何通过类级别RequestMapping调用请求映射方法级别

Related 관련 기사

  1. 1

    OpenSSL:指定应用程序数据的数据包大小

  2. 2

    处理数据库或应用程序上的空值?

  3. 3

    Json编码或序列化XML

  4. 4

    反序列化对象的Arraylist

  5. 5

    Express JS 4.0,提供二进制数据,请求Accept标头更改输出

  6. 6

    监视Google Chrome扩展程序发出的请求

  7. 7

    使用GSON自定义反序列化枚举

  8. 8

    C#Json反序列化失败

  9. 9

    使用jdbc-message-channel的序列化错误

  10. 10

    从Java Server到Android客户端:无法接收TCP数据包

  11. 11

    protobuf-net:回调,用于确定要序列化的对象

  12. 12

    REST错误响应和客户端服务器POJO序列化

  13. 13

    子类的C#XML序列化-从根节点删除xmlns:p1和p1:type属性

  14. 14

    对于跨域OPTIONS请求,飞行前OPTIONS请求之后是“常规” OPTIONS请求吗?

  15. 15

    最小化/转换字符串而不会丢失数据

  16. 16

    C ++中的初始化程序列表和类初始化。我有无参数构造函数,但仍必须使用初始化列表?

  17. 17

    格式化日期以包括星期几

  18. 18

    为什么Javascript和AJAX调用(页面加载)导致数据库行为空?(Facebook画布)

  19. 19

    将Geoserver cURL转换为python请求

  20. 20

    PHP的麻烦与JSON获取Ajax请求

  21. 21

    PhantomJS是否在多个请求之间共享内存?

  22. 22

    这个Ebean请求有什么问题

  23. 23

    int键从特定值开始

  24. 24

    如何将所有HTTPS请求重定向到HTTP请求?

  25. 25

    使用多设备应用程序在Delphi xe7中的StatusBar中显示数据

  26. 26

    使用jQuery在一页中处理多页请求

  27. 27

    如何处理Android中失败的AudioFocus请求?

  28. 28

    Python3.4读取内容流Web请求

  29. 29

    如何通过类级别RequestMapping调用请求映射方法级别

뜨겁다태그

보관