Django:将组重命名为角色

Django: Rename Group to Role

我需要在 Django 项目中使用 "Role" 而不是 "Group"。

我尝试了 i18n,但可以让 auth 获取翻译。

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

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

是否只是在管理界面中显示 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)

综上所述,我会对强迫您实施这种愚蠢的事情的商业决策提出质疑。