Примените verbose_name (или подобное свойство) к полю формы трясогузки, привязанному к ParentalKey

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

Я работаю над страницей администратора Wagtail для модели Page. Мы разрешаем нашей маркетинговой команде переводить страницы и связывать их вместе, используя "группу целевых страниц". Внутренне нам нужно сохранить это имя "Группа целевых страниц", но наше тестирование пользователей показало, что пользователи могут с большей вероятностью понять, для чего это нужно, если мы упростим имя до "Группа перевода".

Я уже внес изменение в поле, которое позволяет пользователям добавлять новое имя группы. Добавление метакласса с verbose_name было легко Однако мне не так просто переименовать основное поле выбора. Я включаю скриншот рассматриваемой админ-панели и приведенный ниже код, который может дать некоторое представление.

Мы используем Django 2.0.8 и Wagtail 2.5.1.

class LandingPageGroup(ClusterableModel):

    class Meta:
        ordering = ['name']

    name = models.CharField('Landing Page Group name', max_length=255)

    api_fields = [
        APIField('name'),
    ]

    def __str__(self):
        return self.name

class LandingPageBaseForm(WagtailAdminPageForm):
    new_landing_page_group = forms.CharField(required=False, label='New translation group')

class LandingPageBase(Page):
    base_form_class = LandingPageBaseForm
    landing_page_group = ParentalKey(
        'home.LandingPageGroup',
        on_delete=models.PROTECT,
        blank=True,
        null=True,
    )
    content_panels = [
        MultiFieldPanel(
            heading='Locale and Hreflang Group',
            [
                FieldRowPanel(
                    [
                        FieldPanel('landing_page_group', widget=forms.Select),
                        FieldPanel('new_landing_page_group'),
                    ],
                    help_text='Choose an existing landing page group OR create a new one'
                ),
            ],
        ),
    ]

1 ответ

Оказывается, вы можете применить verbose_name свойство к ParentalKey.

landing_page_group = ParentalKey(
    'home.LandingPageGroup',
    on_delete=models.PROTECT,
    blank=True,
    null=True,
    verbose_name='Translation group', # <---
) 

Я мог бы поклясться, что попробовал это, но это работает как задумано.

Другие вопросы по тегам