环境:Django 1.5.1 + Django CMS 2.4.1 + Zinnia latest + 我的自定义应用程序 + 自定义 Django CMS 插件
基本上我可以扩展默认的 Django (1.5.X) 用户模型,如NetTuts+ 上的 Django Ribbit 教程
或者
在段落中替换完全自定义的模型,例如Django Dev doc或 Django2Scoops 示例:“处理用户模型”
为了测试,我决定使用 Django2Scoops 书中的 Subclass AbstractUser:“如果您喜欢 Django 的 User 模型字段,但需要额外的 ..fields,请选择此选项。”
但我有以下错误:
notification.noticesetting: 'user' 定义了与模型 'auth.User' 的关系,该模型已被换出。更新指向 settings.AUTH_USER_MODEL 的关系。cmsplugin_zinnia.latestentriesplugin:“作者”定义了与模型“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 的关系。
经过数小时的阅读和测试,我发现
指定自定义用户模型(扩展 AbstractUser)不起作用
正如错误消息所说——您需要更新指向 settings.AUTH_USER_MODEL 的关系。第二个错误(“模型已被换出……”)是您直接引用用户模型这一事实的副作用。一旦更改了 ForieignKey 引用,第三个错误就会消失。我们已尽一切努力确保顺利过渡到新的用户模型,但它不能完全透明。应用程序编写者需要更新他们的应用程序以兼容 1.5。本质上,如果 Django 1.4 应用程序包含对 User 的硬编码外键引用,则它不会 100% 与 Django 1.5 兼容。拜托,你能给我更多的例子吗?
和Django/Python:更新指向 settings.AUTH_USER_MODEL 的关系
在 settings_example.py 你有 AUTH_USER_MODEL = 'users.User'。但是,您正在使用与 django.contrib.auth.User 相关的应用程序 - menu.bookmark - 您不能同时拥有两者。设置 AUTH_USER_MODEL 意味着你正在用你自己的替换内置的 Django 用户模型。有关详细信息,请参阅 http://procrastinatingdev.com/django/using-configurable-user-models-in-django-1-5/ 。
但我不明白我该如何解决这个问题。
我需要什么:
- 用户与学院课程相关联(一个学院 -> 更多用户)
- 用户或机构可以拥有不同的权限并查看不同的 django cms 页面/插件。
- 用户的更多字段。
子类 AbstractUser 是正确的点吗?
如何解决“换出”错误?
我应该创建类似于OpenTreeMap 代码的东西
不推荐使用此代码吗?
谢谢!