2010-05-23 9 views
15

Wie kann ich einen ausführlichen_Name für die Methode eines Modells festlegen, damit es im Formular "change_view" des Administrators angezeigt wird?Ausführlicher_Name für die Methode eines Modells

Beispiel:

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

in admin.py:

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

Nun ist die Bezeichnung für created_weekday ist "Erstellt Wochentag", aber ich würde es gerne eine andere Bezeichnung haben, die sein sollte Sie können auch mit ugettext_lazy arbeiten.

Ich habe

versucht
created_weekday.verbose_name=... 

nach dem Verfahren, aber das zeigte kein Ergebnis. Gibt es einen Dekorateur oder etwas, das ich benutzen kann, damit ich meinen eigenen "verbose_name"/"label"/whateverthename erstellen kann?

Antwort

19

list_display

created_weekday.short_description = 'Foo' 
+1

Dank, das funktioniert. kein Wunder, dass ich es nicht in der Dokumentation gefunden habe - es ist unter "ModelAdmin.list_display" geschrieben ... – mawimawi

+3

Ja, aber die Dokumentation für 'readonly_fields' sagt" Diese Option verhält sich fast identisch mit ModelAdmin.list_display ". –

+0

@ Davor Lucic das ist nicht funktionieren – GoTop

Verwandte Themen