【问题标题】:How to remove Group and Permission models from Django如何从 Django 中删除组和权限模型
【发布时间】:2015-09-25 16:15:50
【问题描述】:

我想创建自己的组和权限模型。然而,Django 有它的内置模型,这给我在它自己的模型Group 上的命名冲突。我知道您可以取消注册以将其从该管理员中删除,但这对我没有帮助。

这里最好的是什么?

是否可以将 Django 自己的模型和模型用于 Groups 并添加到它们(即添加更多字段),或者我可以完全删除内置的 Group 模型?

我的用户似乎扩展自 AbstractBaseUser

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    如果你不想使用Django的GroupPermission,也许你根本不想使用django.contrib.auth?如果是这种情况,只需从 INSTALLED_APPS 中删除 django.contrib.auth

    但是,我想指出,我真的想不出一个有意义的用例。你必须有一个非常好的理由来编写自己的GroupPermission

    【讨论】:

    • 我需要向 Group 添加更多字段,这是我唯一的原因。
    • 那么在这种情况下,您可能正在寻找扩展模型而不是删除它们?请参阅 this answer 扩展 Group 模型。
    【解决方案2】:

    从 django.contrib.auth.models 导入组、用户

    class CustomGroup(Group):
         new_attr = ...
    
    class UserGroup(User):
        new_attr = ...
    

    你也可以使用Proxy Models

    【讨论】:

      猜你喜欢
      • 2020-01-24
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      • 2018-04-21
      相关资源
      最近更新 更多