【问题标题】:get access to serializer validated data DRF访问序列化程序验证数据 DRF
【发布时间】:2017-10-23 02:16:33
【问题描述】:

所有 django rest 框架文档都假设您将立即保存数据。但是如果我想访问序列化器数据怎么办?如果我想用它做点什么。或者,如果序列化程序包含的信息不是我需要保存在模型中的信息?

validated_data 属性是我们需要的吗?

所以

validatedData = serializer.validated_data
userid = validatedData.get('id')

行得通吗?

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    是的,你是对的,但请记住 validated_data 只有在你调用 .is_valid() 方法后才会生成。例如:

    serializer.is_valid()
    # do it first ^^^^^
    validatedData = serializer.validated_data
    userid = validatedData.get('id')
    

    您可以查看文档中的示例 saving-instances

    【讨论】:

    • 我不明白这是怎么回事。 .is_valid() 仅根据数据是否经过验证返回 True 或 False。在您提供的 sn-p 中 userid 仍将是 None
    • 此方法不仅进行验证,还(在此过程中)将数据值插入到验证数据中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 2017-11-09
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多