栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django REST Framework中序列化程序验证的顺序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django REST Framework中序列化程序验证的顺序

由于你的username字段很可能已

unique=True
设置,因此Django REST框架会自动添加一个验证器,该验证器将检查以确保新用户名是唯一的。实际上,你可以通过进行确认
repr(serializer()
),这将向你显示所有自动生成的字段,其中包括验证程序。

验证按特定的,未记录的顺序运行

  1. 字段反序列化称为(
    serializer.to_internal_value
    field.run_validators
  2. serializer.validate_[field]
    被称为每个领域
  3. 称为序​​列化器级别的验证器(
    serializer.run_validation
    后跟
    serializer.run_validators
  4. serializer.validate
    因此,你看到的问题是在序列化程序级别的验证之前调用了字段级别的验证。虽然我不建议这样做,但是你可以通过
    extra_kwargs
    在serilalizer的meta中进行设置来删除字段级验证器。
class meta:    extra_kwargs = {        "username": { "validators": [],        },    }

但是,你将需要

unique
在自己的验证中重新执行检查,以及已自动生成的任何其他验证器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407794.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号