【问题标题】:Django Admin Sortable 2 - Inline Tabular - not save order and display hidden fieldDjango Admin Sortable 2 - 内联表格 - 不保存订单并显示隐藏字段
【发布时间】:2022-01-24 16:19:57
【问题描述】:

我使用的是 Python 3.9、Django 3.2.8 和 Django-admin-sortable2 1.0.3。我面临的问题是我的自定义订单字段(我将其命名为“sort_order”)在内联表格形式中可见,但它应该根据 Django-admin-sortable2 实现隐藏。虽然我能够拖放项目,但在保存父对象时,排序顺序没有得到保存。

我的管理类如下:

from django.forms.models import BaseInlineFormSet
from adminsortable2.admin import CustomInlineFormSet, SortableInlineAdminMixin

class ABCInlineFormSet(BaseInlineFormSet):
    ...
    pass

class ABCAdminInline(SortableInlineAdminMixin, admin.TabularInline):
    formset = ABCInlineFormSet
    model = models.MyModel
    fields = ["your_field"]
    ...

什么对我有用?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 添加了一些代码供参考。

标签: python django


【解决方案1】:

我在这里的一个无关紧要的问题中找到了这个问题的提示:https://github.com/jrief/django-admin-sortable2/issues/106

我在我的 TabularInline 管理类中指定了一个“表单集”。所以,我只是尝试用 django-admin-sortable2 的“CustomInlineFormSet”类继承我的内联表单集类。这为我解决了这个问题。

from adminsortable2.admin import CustomInlineFormSet, SortableInlineAdminMixin

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


class ABCAdminInline(SortableInlineAdminMixin, admin.TabularInline):
    formset = ABCInlineFormSet
    model = models.MyModel
    fields = ["your_field"]
    ...

【讨论】:

    猜你喜欢
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2014-05-31
    • 2011-10-20
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多