Django:将组重命名为角色

时间:2015-09-07 17:48:51

标签: django django-admin django-authentication

我需要在Django项目中使用“Role”而不是“Group”这个词。

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

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

这是重命名的正确方法吗?

1 个答案:

答案 0 :(得分:4)

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

然后从Group取消注册默认的GroupAdmin模型并注册您的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)

尽管如此,我还是质疑商业决定,迫使你实施这样一个愚蠢的事情。