2016-11-19 28 views
1

工作流程:登记表软件作为Django的服务 - 许多公司应该能够具有相同的用户

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

  2. 公司管理员可以邀请候选人。在表格中给出候选人电子邮件,名字和姓氏。应用程序发送带有激活链接的邮件给候选人。

  3. 通过点击链接的候选人转移到与形式的页面,设置了密码,会被重定向到登录页面

  4. 考生可以登录并添加新的项目数据库(型号Item

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

+0

作为平时使用的电子邮件地址被视为这是奇怪的解决这个问题 - 通常人们拥有公司的电子邮件地址,或者至少对于许多使用相同地址的公司不起作用。多家公司如何使用相同的电子邮件地址? – RemcoGerlich

+0

哦,对,因为他们不是文字公司。 – RemcoGerlich

回答

2

解决方案是在用户和公司之间具有ManyToMany关系。

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

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

你需要一些方法来转换他们目前正作为,或显示在同一屏幕上所有的人都公司等

相关问题