django 中的多个 AUTH_USER_MODEL

Anm*_*nga 7 authentication django

在我的 Django 项目(这是一个 REST API)中,我遇到了一个以前可能遇到过的问题,但我在任何地方都找不到好的解决方案。在我的项目中,我有两种不同类型的用户,“移动应用用户”和“商业用户”。移动应用程序用户可以进入我们的移动应用程序并根据地理位置查看他们周围的内容。业务用户可以登录到 Web 管理门户并生成移动应用程序用户看到的内容。需要注意的是,商业用户也可能是应用程序用户。我希望能够允许业务用户和应用程序用户拥有相同的电子邮件,同时仍然使其模型独一无二。

现在的问题是如何使用相同的电子邮件 ID 创建两个帐户(第一个是移动应用程序,第二个是商业帐户)。

Vil*_*ami 5

一般可能的解决方案:

有几种可能的解决方案来处理不同类型的用户。根据你的情况应该。本文以多种方式涵盖该主题: How to Implement Multiple User Types with Django

文章中讨论的方法总结如下:

  1. 始终仅使用一种 Django 模型来处理身份验证,即使您有不同类型的用户。正如 @Anton Perepelitcyn 和 @Anderw 指出的那样,我们仍然可以使用关系为其他目的拥有多个用户模型。
  2. 根据您的情况选择最适合您的解决方案:在此输入图像描述


小智 1

假设您的基本AUTH_USER_MODEL模型用于存储“移动应用程序用户”。您应该添加另一个模型来存储“业务用户”的一些附加信息,并且它必须与AUTH_USER_MODEL模型相关,仅此而已。