Настройка Django админ TabularInline поле по умолчанию - PullRequest
5 голосов
/ 09 февраля 2010

У меня есть макет администратора TabularInline, все работает нормально, за исключением того, что я хотел бы, чтобы в левом верхнем углу каждой строки отображалось что-то отличное от Obj.__unicode__.

My TabularInline представляет собой фотомодель модели ImageModel, поэтому я хотел бы, чтобы она показывала мне миниатюру вместо обычного __unicode__ результата.

Я попытался изменить __unicode__ для вывода миниатюры, которая работает, за исключением того, что HTML экранирован, поэтому я получаю <img src="XXX"...... etc

Есть ли простой способ пометить мой метод __unicode__ как безопасную строку? Или способ переопределить свойство, которое администратор выбирает для отображения?

Я пробовал это:

__unicode__.is_safe = True 

Но это не работает.

1 Ответ

7 голосов
/ 09 февраля 2010

Вы можете настроить шаблон для вас TabularInline, чтобы он выглядел так, как вы хотите. Я думаю, что это лучшая идея, чем взломать __unicode__:

class PhotoInline(admin.TabularInline):
    model = Photo
    template = 'photologue/photoinline.html'

Самый простой способ создать свой шаблон - скопировать и настроить шаблон django/contrib/admin/templates/admin/edit_inline/tabular.html по умолчанию.

...