Django Admin Sortable 2 - Inline Tabular - не сохранять порядок и отображать скрытое поле

Я использую Python 3.9, Django 3.2.8 и Django-admin-sortable2 1.0.3. Я столкнулся с проблемой, что мое пользовательское поле заказа (я назвал его "sort_order") было видно в инлайн табличных формах, но оно должно было быть скрыто в соответствии с реализацией Django-admin-sortable2. И хотя я мог перетаскивать элементы, но при сохранении родительского объекта порядок сортировки не сохранялся.

Что сработало для меня?

Я нашел подсказку для этой проблемы в немного несвязанном вопросе здесь: https://github.com/jrief/django-admin-sortable2/issues/106

Я указал "набор форм" в своем классе администратора TabularInline. Поэтому я просто попробовал унаследовать свой класс inline formset от класса "CustomInlineFormSet" из django-admin-sortable2. Что решило проблему для меня.

from adminsortable2.admin import CustomInlineFormSet, SortableInlineAdminMixin

class ABCInlineFormSet(CustomInlineFormSet, BaseInlineFormSet):
    ...
    pass


class ABCAdminInline(SortableInlineAdminMixin, admin.TabularInline):
    formset = ABCInlineFormSet
    model = models.MyModel
    fields = ["your_field"]
    ...
Вернуться на верх