2015-09-07 18 views
2

我需要在Django項目中使用「角色」一詞而不是「組」。Django:將組重命名爲角色

我試過i18n,但可以讓auth拿起翻譯。

我也試着用myaqpp.auth代替django.contrib.auth,其中Group被稱爲角色。

哪種方法可以進行這種重命名?

+0

這些都與Q&作爲: http://stackoverflow.com/questions/24294832/how-to-extend-django-group-and-still-use-in-django-user 的http://計算器.com/questions/2181039/how-do-i-extend-the-django-group-model – Apalala

回答

3

難道這只是在管理界面中顯示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) 

隨着所有這一切說,我會質疑商業決定,迫使你實施這樣一個愚蠢的事情。

+1

這是正確的答案。唯一缺少的是,用戶模型中的內聯表單仍顯示爲組。 –