Djnago中的双重身份验证

问题描述

我想在Django中拥有不同类型的用户(例如Driver和Passenger)。因此,我既需要电子邮件(使用驾驶员密码)和电话号码(使用密码+ OTP乘客密码)身份验证。

所以我创建了自定义身份验证后端,这很好。

但是在我的用户模型中,我必须同时添加电子邮件和电话。有什么方法可以创建不同类型的两个用户一个用户模型(驱动程序)存储电子邮件和密码,而另一个(乘客)存储电话,OTP和密码?

解决方法

最简单的方法是使用上述所有字段创建表单,然后将数据发布到后端。当视图接收到数据时,您可以从数据中获取详细信息字段,并使用模型实例将其保存到相应的模型中。 另一种方法是,如果您使用的是自定义注册表单,则可以使用django_signalspost_save方法使用pre_save将数据保存在各个模型中。