2010-05-23 18 views
15

Jak ustawić verbose_name dla metody modelu, aby mogła być wyświetlana w formularzu change_view administratora?verbose_name dla metody modelu

przykład:

class Article(models.Model): 
    title = models.CharField(max_length=64) 
    created_date = models.DateTimeField(....) 
    def created_weekday(self): 
     return self.created_date.strftime("%A") 

w admin.py:

class ArticleAdmin(admin.ModelAdmin): 
    readonly_fields = ('created_weekday',) 
    fields = ('title', 'created_weekday') 

Teraz etykieta created_weekday jest "Utworzony dzień tygodnia", ale chciałbym go mieć inną etykietę, która powinna być i18nable również za pomocą ugettext_lazy.

Próbowałem

created_weekday.verbose_name=... 

po metody, ale nie wykazują żadnych rezultatów. Czy istnieje dekorator lub coś, z czego mogę korzystać, aby utworzyć własną "verbose_name"/"label"/whateverthename?

Odpowiedz

19

list_display

created_weekday.short_description = 'Foo' 
+1

dzięki, że działa. nic dziwnego, że nie znalazłem go w dokumentacji - jest napisane pod "ModelAdmin.list_display" ... – mawimawi

+3

Tak, ale dokumentacja dla 'readonly_fields' mówi" Ta opcja zachowuje się prawie identycznie z ModelAdmin.list_display ". –

+0

@Davor Lucic to nie działa – GoTop

Powiązane problemy