在我的Django项目(这是一个REST API)中,我遇到了一个可能遇到的问题,但我无法在任何地方找到一个好的解决方案。在我的项目中,我有两种不同的用户,“移动应用用户”和“商业用户”。移动应用用户可以访问我们的移动应用,并根据地理位置查看周围的内容。业务用户可以登录Web管理门户并生成移动应用程序用户看到的内容。作为警告,业务用户也可能是app用户。 我希望能够允许业务用户和应用用户拥有相同的电子邮件,同时让他们的模型独一无二。
现在问题是如何创建一个具有相同电子邮件ID的两个帐户(第一个是移动应用程序,第二个是商家)。
答案 0 :(得分:2)
有几种可能的解决方案来处理不同类型的用户。根据你的情况你应该。本文以多种方式涵盖了该主题: How to Implement Multiple User Types with Django
答案 1 :(得分:0)
假设您的基本AUTH_USER_MODEL
模型用于存储“移动应用用户”。
您应该添加另一个模型来存储“业务用户”的一些其他信息,它必须与AUTH_USER_MODEL
模型相关,这就是全部。
答案 2 :(得分:0)
假设您有自定义User
。然后
class MobileUser:
credentials = models.OneToOne(User, related_name='mobile_user')
...
class BusinessUser:
credentials = models.OneToOne(User, related_name='business_user')
...
您可以向自定义User
添加一些必要的字段,这可以让您更好地控制访问(例如布尔is_business
和is_mobile
)。另请使用roles
或permissions
。