Django Admin Inlines - Пользовательские метки? - PullRequest
3 голосов
/ 17 июня 2011

Это довольно глупый вопрос, но у меня есть пара моделей, которые имеют отношение многие ко многим, и я использую Inline, чтобы разрешить администрирование этих моделей в Django Admin. На метки, которые отображаются для этих строк, похоже, совсем не влияют мета-атрибуты модели, как в других разделах Admin. Интерфейс администратора будет использоваться непрограммистами, и я бы предпочел, чтобы им не приходилось смотреть на разделы с метками типа «Отношения пользователь-функция», которые содержат строки под названием «Объекты User_feature». Это есть способ изменить это?

1 Ответ

12 голосов
/ 17 июня 2011

Django автоматически генерирует промежуточную модель для отношения m2m и создает подробное имя в виде отношения «% (from) s -% (to) s», помеченного для перевода.Можно использовать более подходящий перевод, чтобы повлиять на изменения на всем сайте.Определение Gettext для поиска:

'%(from)s-%(to)s relationship'
'%(from)s-%(to)s relationships'

Вы можете переопределить автоматически сгенерированные verbose_name и verbose_name_plural для AdminInline, который управляет отношением «многие ко многим»:

class CategoryInline(admin.TabularInline):
    model = BaseProduct.categories.through
    verbose_name = "Category item"
    verbose_name_plural = "Category items"

Для определения метода Юникод см. Ответ с опубликованными решениями по использованию прокси-модели и патча обезьяны для метода Юникод .

Django: более дружественный заголовок для StackedInline для автоматически генерируемой модели?

...