django-parler Check fields/fieldsets/exclude attributes of class Admin

5 сентября 2017 г. 0:22

Долго не мог понять почему Django выдаёт мне ошибку при попытке прикрутить django-parler:

Unknown field(s) (my_trans_field) specified for MyModel. Check fields/fieldsets/exclude attributes of class MyModelAdmin.

Ключевой момент в том, что в админ-классе у меня был определена переменная form:

@admin.register(MyModel)
class MyModelAdmin(TranslatableAdmin):
    form = MyModelForm

    fieldsets = (
        (None, {
            'fields': ('field_1', 'field_2'),
        }),
        (_('Translatable Fields'), {
            'fields': ('my_trans_field', )
        }),
    )

И, как оказалось, класс MyModelForm нужно тоже наследовать от специфического класса TranslatableModelForm приложения parler:

class MyModelForm(TranslatableModelForm):
    custom_field = forms.DateTimeField(label='Custom Field', required=False)

    class Media:
        css = {'all': ['spec/css/custom_styles.css', ]}

Теперь всё заработало, и я вижу поле my_trans_field на странице изменения объекта.

Но, как ни странно, об этом в документации явно не было сказано (по крайней мере, на момент написания этой статьи). Только лишь есть упоминание в разделе: API documentation » parler.forms module

Оцените статью

5 из 5 (всего 1 оценка)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице http://vivazzi.pro/it/django-parler-check-attributes-of-class-admin/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.pro/it/django-parler-check-attributes-of-class-admin/">http://vivazzi.pro/it/django-parler-check-attributes-of-class-admin/</a>

Подробнее: Правила использования сайта

Комментариев: 1

Гость
Гость

22.07.2018 2:47 #

Спасибо! Помогло

Ответить

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте