【发布时间】:2013-05-12 09:50:18
【问题描述】:
环境:Django 1.5.1 + Django CMS 2.4.1 + Zinnia latest + 我的自定义应用程序 + 自定义 Django CMS 插件
基本上我可以扩展默认的 Django (1.5.X) 用户模型 喜欢Django Ribbit Tutorial on NetTuts+
或
替换完全自定义的模型,如Django Dev doc 或段落中的 Django2Scoops 示例:“处理用户模型”
为了测试我决定使用子类 AbstractUser 来自 Django2Scoops 书:“如果您喜欢 Django 的用户模型字段,请选择此选项,但需要额外的 ..fields。”
但我有以下错误:
notification.noticesetting: 'user' 定义与模型的关系 'auth.User',已被换掉。更新与点的关系 在 settings.AUTH_USER_MODEL。 cmsplugin_zinnia.latestentries 插件: “authors”定义了与模型“auth.User”的关系,该模型具有 被换掉了。更新指向的关系 settings.AUTH_USER_MODEL。
cms.pageuser: 'created_by' 定义了与模型的关系 'auth.User',已被换掉。更新与点的关系 在 settings.AUTH_USER_MODEL。 cms.pageusergroup: 'created_by' 定义了一个 与已换出的模型“auth.User”的关系。 更新指向 settings.AUTH_USER_MODEL 的关系。
经过数小时的阅读和测试,我发现
Specifying custom User model (extends AbstractUser) doesn't work
正如错误消息所说——你需要更新关系到点 在 settings.AUTH_USER_MODEL。第二个错误(“模型已被交换 out...") 是您直接引用的事实的副作用 用户模型。一旦您更改了 ForieignKey 引用,这第三个 错误会消失。我们已尽一切努力确保顺利 过渡到新的用户模型,但不能完全 透明。应用程序编写者需要将他们的应用程序更新为 1.5 兼容的。本质上,Django 1.4 应用程序不会 100% 兼容 如果 Django 1.5 包含硬编码的外键引用 用户。请问,你能给我更多的例子吗?
还有Django/Python: Update the relation to point at settings.AUTH_USER_MODEL
在 settings_example.py 你有 AUTH_USER_MODEL = 'users.User'。 但是,您使用的应用程序 - menu.bookmark - 与 django.contrib.auth.User - 你不能同时拥有。环境 AUTH_USER_MODEL 表示您正在替换内置的 Django 用户 用你自己的模型。看 http://procrastinatingdev.com/django/using-configurable-user-models-in-django-1-5/ 了解详情。
但我不明白我该如何解决这个问题。
我需要什么:
-用户链接到学院类(一个学院 -> 更多用户)
-用户或机构可以有不同的权限,看到不同的django cms 页面/插件。
-用户的多个字段。
子类 AbstractUser 是否正确?
如何解决“换出”错误?
我应该创建类似于OpenTreeMap Code的东西
这段代码没有被弃用吗?
谢谢!
【问题讨论】:
-
github.com/divio/django-cms/issues/1798 django CMS 目前不支持 AUTH_USER_MODEL。因此,我该怎么办?
标签: django django-models django-authentication django-cms django-users