Python Django 1.5多用户身份验证或

Python Django 1.5多用户身份验证或,python,django,Python,Django,我创建了一个Django 1.5 WebApp,带有自定义用户模型。而且有效。:) 我已经有了另一个应用程序正在使用的第二个User2模型。第二个User2模型不是Django应用程序,所以它是用不同的标准构建的。它已经在生产中,有很多用户 现在我需要为User和User2提供登录和执行完全不同操作的可能性 我正在考虑使用一个Django应用程序来管理一切,因为在这两种情况下,我都需要使用两种模式:当User登录时,我还需要一些关于User2和viceversa的信息 我看不到合并User,Us

我创建了一个Django 1.5 WebApp,带有自定义
用户
模型。而且有效。:)

我已经有了另一个应用程序正在使用的第二个
User2
模型。第二个
User2
模型不是Django应用程序,所以它是用不同的标准构建的。它已经在生产中,有很多用户

现在我需要为
User
User2
提供登录和执行完全不同操作的可能性

我正在考虑使用一个Django应用程序来管理一切,因为在这两种情况下,我都需要使用两种模式:当
User
登录时,我还需要一些关于
User2
和viceversa的信息

我看不到合并
User
User2
的方法,因为它们有完全不同的字段。Plus
User2
有一个指向
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应用程序