Python Django 1.5多用户身份验证或
我创建了一个Django 1.5 WebApp,带有自定义Python Django 1.5多用户身份验证或,python,django,Python,Django,我创建了一个Django 1.5 WebApp,带有自定义用户模型。而且有效。:) 我已经有了另一个应用程序正在使用的第二个User2模型。第二个User2模型不是Django应用程序,所以它是用不同的标准构建的。它已经在生产中,有很多用户 现在我需要为User和User2提供登录和执行完全不同操作的可能性 我正在考虑使用一个Django应用程序来管理一切,因为在这两种情况下,我都需要使用两种模式:当User登录时,我还需要一些关于User2和viceversa的信息 我看不到合并User,Us
用户模型。而且有效。:)
我已经有了另一个应用程序正在使用的第二个User2
模型。第二个User2
模型不是Django应用程序,所以它是用不同的标准构建的。它已经在生产中,有很多用户
现在我需要为User
和User2
提供登录和执行完全不同操作的可能性
我正在考虑使用一个Django应用程序来管理一切,因为在这两种情况下,我都需要使用两种模式:当User
登录时,我还需要一些关于User2
和viceversa的信息
我看不到合并User
,User2
的方法,因为它们有完全不同的字段。PlusUser2
有一个指向User
的ForeignKey
经过几次试验,我发现django只支持一个AUTH\u USER\u模型
。
所以现在我不知道如何继续
我看到了以下备选方案:
- 创建一个抽象用户模型(
AbstractUser
),然后创建子类User
和User2
,但我不知道如何以及这是否会起作用
- 创建一个全新的Django WebApp,但这需要更大的努力(可能是不必要的)
- 找到另一种验证用户2身份的方法,也许可以编写我的自定义身份验证代码
你还有其他选择吗?哪一个是最好的
任何帮助都将不胜感激 我不确定我是否完全理解你的问题,但如果我理解了,我想你要找的是一个OneToOneField
当我在处理客户需要定制用户的项目时,最好的解决方案之一是创建一个新模型,其中一个OneToOneField
指向Django用户,就像一个Profile
模型一样。当您有一个User
对象时,您可以执行User.profile
操作,并获得与用户相关的配置文件(因此您可以执行User.profile.any\u profile\u字段
)
另一方面,如果您拥有对象配置文件
,则可以访问用户
对象,如Profile.User
,也可以访问Profile.User.first\u name
因此,如果它像我认为的那样适合您的问题,您应该将您的模型更改为OneToOneField
到User
,如下所示:
class Profile(models.Model):
user = models.OneToOneField(User)
field1 = models.CharField....
# ... ... ...
# Your fields here
谢谢你的回答!我最终创建了一个新的Django Web应用程序