【问题标题】:Extending/Subclassing admin Groups & Users classes in Django在 Django 中扩展/子类化管理组和用户类
【发布时间】:2011-01-17 07:45:02
【问题描述】:

我想在 Django 中扩展/继承管理组和用户类。

  • CourseAdmin 组应该做管理员可以做的事情,他们有额外的信息,如电子邮件、电话、地址。
  • CourseAdmin 应该能够创建 CourseAdmins、教师、课程和学生。
  • 教师应该能够编辑课程并且学生属于课程。他们无法创造任何新事物。

我想利用当前的 Django 管理类 Group 和 User 而不是自己做。请多多指教。谢谢!

【问题讨论】:

    标签: django django-admin subclass extend


    【解决方案1】:

    你的意思是整个群CourseAdmin只有一个邮箱、电话和地址?我对此表示怀疑。

    否则你不必继承任何东西。只需创建一个user profile model(包括例如电子邮件、电话、地址),创建组:CourseAdminTeacherStudents 并相应地设置权限。

    您可以通过查看用户所在的组来区分用户。

    更多关于user authentication

    【讨论】:

    • +1 谢谢菲利克斯。我的意思是 CourseAdmins 和 Teachers 组中的每个用户都有自己的电子邮件、电话和地址。教师可以访问所有表格。教师可以访问某些表格和某些行(属于该教师的课程和学生)。
    【解决方案2】:

    你不能同时扩展使用现有的。请改用OneToOneField

    【讨论】:

    • +1 谢谢伊格纳西奥。你今天帮了我几次。你能解释一下为什么我不能吗?我可以注销“用户”吗?此外,我希望教师能够登录到管理后端,但限制他们只能编辑某些表格的权限。
    • @Viet:您需要知道的一切都在文档中进行了描述:docs.djangoproject.com/en/1.1/topics/auth
    • 没有必要浪费时间注销任何东西。只需使用内置的权限系统即可。
    • 嗨,Ignacio,你能给我举个例子吗?我正在尝试几个小时没有运气。谢谢。
    猜你喜欢
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 2016-10-10
    • 2016-12-14
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多