python - 如何验证 django DRF 中的字段,同时它可以将电子邮件或电话作为值
问题描述
我想创建一个序列化程序,让用户使用他们的用户名或电话号码登录,现在如果他们使用电话号码或用户名,我需要不同的验证。
我知道我可以在视图中实现这一点,但是,我正在寻找一种解决方案来处理序列化程序中的这种情况。
解决方案
在 DRF 中,可以使用 validate 方法,例如使用以下代码:
if '@' in data['value']:
# the validation for email should be done here
validator = EmailValidator()
validator(data['value'])
return data
else:
# here the mobile number should be validated
pass
推荐阅读
- python-3.x - 数据透视表中索引的小计
- ios - 如何将算术表达式计算修复为 Int
- spring - Spring Quartz:禁用 Quartz 调度程序
- vuejs2 - Vue JS 代码没有在循环内更新
- javascript - 具有动态数字的正则表达式不起作用
- javascript - 创建没有主键角度的新对象
- mysql - 在rails项目中制作Docker Image时出错(无法安装mysql-client)
- c# - 如何将ajax中的外部对象列表和表单对象传递给mvc控制器
- multithreading - UWP 从在不同线程中运行的任务更新 UI 控件
- c# - 如何在单击时用圆圈填充按钮背景