【问题标题】:Django: Rename Group to RoleDjango:将组重命名为角色
【发布时间】:2015-12-03 07:32:16
【问题描述】:

我需要在 Django 项目中使用“角色”而不是“组”。

我试过 i18n,但可以让auth 接受翻译。

我还尝试将django.contrib.auth 替换为myaqpp.auth,其中Group 称为“角色”。

重命名的正确方法是什么?

【问题讨论】:

标签: django django-admin django-authentication


【解决方案1】:

只是在管理界面中显示Role而不是Group的问题吗?在这种情况下,您可以轻松创建代理模型:

型号:

from django.contrib.auth.models import Group
from django.utils.translation import ugettext_lazy as _


class Role(Group):
    class Meta:
        proxy = True
        app_label = 'auth'
        verbose_name = _('Role')

然后从GroupAdmin 中取消注册默认的Group 模型并改为注册您的Role 模型:

from django.contrib.auth.admin import GroupAdmin
from django.contrib.auth.models import Group

from .models import Role


admin.site.unregister(Group)
admin.site.register(Role, GroupAdmin)

话虽如此,我会质疑迫使您实施如此愚蠢的事情的商业决策。

【讨论】:

  • 这是正确答案。唯一缺少的想法是来自用户模型的内联表单仍然显示为组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-19
  • 2012-10-18
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2014-03-07
相关资源
最近更新 更多