我想创建一个序列化程序,让用户使用其用户名或电话号码登录,现在,如果他们使用电话号码或用户名,则需要其他验证。
我知道我可以在视图中实现此目标,但是,我正在寻找一种解决方案,以在序列化程序中处理这种情况。
例如,在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