2015-04-23 33 views
0

如何更改User字段的標籤,例如,爲username?我正在使用CustomUser型號,它繼承了AbstractUser,我想爲某些字段更改label。 我試着在CustomUser模型中做下一步,但它不起作用。有任何想法嗎?更改auth.User模型字段中的標籤

class CustomUser(AbstractUser): 
    mobile = models.CharField(max_length=16) 
    address = models.CharField(max_length=100) 
    def __init__(self, *args, **kwargs): 
     super(CustomUser,self).__init__(*args, **kwargs) 
     self.username.__setattr__('label', 'Some text') 

回答

1

一個Django模型字段移動到Model._meta在類的初始化,因爲Django的1.8,你可以使用_meta API訪問它們。

另外,label是表單字段的屬性,模型字段的等效值爲verbose_name

這應該工作的Django的1.8

class CustomUser(AbstractUser): 
    mobile = models.CharField(max_length=16) 
    address = models.CharField(max_length=100) 

    def __init__(self, *args, **kwargs): 
     super(CustomUser,self).__init__(*args, **kwargs) 
     self._meta.get_field('username').verbose_name = 'Some text' 

的Django 1.8之前,你可以使用self._meta.get_field_by_name('username')[0]而不是self._meta.get_field('username')

相關問題