Как я могу установить verbose_name для метода модели, так, чтобы он мог бы быть отображен в форме change_view администратора?
пример:
class Article(models.Model):
title = models.CharField(max_length=64)
created_date = models.DateTimeField(....)
def created_weekday(self):
return self.created_date.strftime("%A")
в admin.py:
class ArticleAdmin(admin.ModelAdmin):
readonly_fields = ('created_weekday',)
fields = ('title', 'created_weekday')
Теперь маркировка для created_weekday является "Созданным Рабочим днем", но я хотел бы, чтобы это имело другую маркировку, которая должна быть i18nable с помощью ugettext_lazy также.
Я попробовал
created_weekday.verbose_name=...
после метода, но это не показало результата. Существует ли декоратор или что-то, что я могу использовать, таким образом, я мог сделать свой собственный "verbose_name" / "маркировка" / whateverthename?
created_weekday.short_description = 'Foo'
Это решение требует, чтобы метод был определен в классе ModelAdmin. Вы можете вызвать метод модели (например: get_created_weekday
) из ModelAdmin, например:
def created_weekday(self, obj):
return obj.get_created_weekday()