Подтвердить что ты не робот

Django admin listview Настроить имя столбца

Итак, у меня есть пользовательский администратор django, созданный из модели автора:

class AuthorAdmin(admin.ModelAdmin):
    """
    Author Admin
    """
    form = AuthorForm

    list_display = ['profile_photo', 'first_name', 'last_name', 'title']
    search_fields = ['first_name', 'last_name', 'title', 'credential']
    prepopulated_fields = {'slug': ('first_name', 'last_name', 'title')}

    def profile_photo(self, obj) :
        return '<img src="%s" title="%s" />' % (resize_image(obj.photo, '100x100'), obj.title)

    profile_photo.allow_tags = True

Но в представлении admin в django заголовок столбца для настраиваемого столбца не имеет надлежащей капитализации. capitalization matters dammit!

Кто-нибудь знает, как переопределить заголовки столбцов, созданные из пользовательских имен функций?

Я пробовал:

def my_function(self, obj) :
    """My Custom Title"""
    ...

и

def my_function(self, obj) :
    class Meta:
        verbose_name = _(u"My Custom Title")
4b9b3361

Ответ 1

Использование:

def my_function(self, obj) :
    """My Custom Title"""
    ...
my_function.short_description = 'This is the Column Name'

Он был похоронен в docs. short_description, в частности, едва упоминается при обсуждении list_display (больше на примере, чем фактически вызывается). Другие элементы, подобные этому, аналогично похоронены в админ-документах, но здесь резюме:

  • short_description: название столбца для использования (строка)
  • allow_tags: что имя говорит... позволяет использовать HTML (True или False)
  • admin_order_field: поле модели для упорядочивания этого столбца (строка, имя поля)
  • boolean: указывает, что возвращаемое значение является логическим и сигнализирует администратору использовать красивую зеленую проверку/красный X (True или False)