我目前正在开发一个 Django 站点,其中用户可以拥有多个“帐户”,以便他们在通过该站点进行交互时可以在不同的公共配置文件之间无缝切换。我正在设计的内容可能会吸引每人多次注册(并且不会气馁),我只是想以这样一种方式提供此功能,即用户可以将个人资料捆绑在一起,轻松切换并且只需要登录一次。
到目前为止,我想到的两种方法包括:
每人一对(
User
模型 +SiteProfile
模型)和多个模型。设置为指向模型。问题是我不能轻易使用每个对象的权限:这些权限将设置在对象上而不是公共配置文件上,因此当用户伪装成时也将应用查看“PublicProfileA”页面的权限“公共档案 B”。PublicProfile
AUTH_PROFILE_MODULE
SiteProfile
User
每人一个
Account
模型和多个(User
模型 +模型)对。设置为指向模型。这将具有按预期工作的权限的额外好处,并且我可以简单地拥有一个自定义后端,如果他们当前作为具有与外键相同对象的另一个用户登录,它将通过验证用户来切换用户。但是,通过读取对象上的字段来进行身份验证,这意味着每个对象上的字段都将被浪费。UserProfile
AUTH_PROFILE_MODULE
UserProfile
Account
Account
password
User
如上所述,
Account
但从User
. 我被强烈建议不要这样做(原因不明)。
有什么陷阱或更好的方法吗?最终,我应该使用内置User
模型作为识别一组面向公众的配置文件(其中这些配置文件具有返回User
对象的 FK)的个人模型,还是将其用作配置文件本身,链接回给Account
每个人一个对象?