Django中的软件即服务 - 许多公司应该能够拥有相同的用户

时间:2016-11-19 08:57:29

标签: python django

工作流:

  1. 注册表中的用户提供了他的电子邮件,密码和公司名称。注册过程中会自动创建具有相同名称的公司(模型Company)。此用户自动管理该公司(在User模型中我有角色字段)。

  2. 公司管理员可以邀请候选人。在表单中提供候选人电子邮件,名字和姓氏。应用程序会向候选人发送一封包含激活链接的电子邮件。

  3. 通过点击链接将候选人转移到页面,其中包含设置密码并重定向到登录页面的表单

  4. 候选人可以登录并向数据库添加新项目(模型Item

  5. 问题是许多公司应该能够拥有相同的用户(相同的电子邮件地址)。目前,应用程序返回该电子邮件已在使用中(在其他公司,但它可能不是这样)。所以这就像软件即服务。任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

解决方案是在User和Company之间建立ManyToMany关系。

所有用户都是他们自己公司的管理员(在他们创建帐户时发生),但此外他们也是其他公司的候选人。

他们可以为他们所在的所有公司添加商品,但只为他们所有的公司邀请新人,所有公司都使用相同的用户帐户。

您需要某种方式来切换他们当前正在工作的公司,或者在同一个屏幕上显示所有公司等。