如何在 Django 的下拉列表中集成多选字段

How to integrated multiselected field in dropdown list in Django

我想为多选字段实现过滤功能。由于有很多选项,我无法在网页上清楚地列出所有选项。

我从我的同事那里得到了想要的结果,它将多选整合到一个下拉列表中。如附件所示。我想知道是否可以使用 django 来实现这个?有人做过这样的事吗?

想听听任何有帮助的建议。非常感谢您的宝贵时间和帮助!

Multiselected field in dropdown list

这是我需要用于此功能的模型。我为行业使用 django-multiSelectField 包。我要做的是,将所有选项列为下拉列表下的多选字段。

model.py

您可以使用 MultipleChoiceField with the widget CheckboxSelectMultiple 创建如下内容:

class CustomWidgetForm(forms.Form):

    SOME_CHOICES = (
        (1, "Havana"),
        (2, "New York"),
        (3, "Changai"),
        (4, "London"),
    )

    multiselect = forms.MultipleChoiceField(choices=SOME_CHOICES, widget=forms.CheckboxSelectMultiple())

这将呈现多选字段,如下所示:

然后您可以将 custom template 应用到 CheckboxSelectMultiple 小部件,以便提供一些 js 并按照您的需要呈现小部件。

另一种方法是使用默认的多选字段结合 Jquery 插件,例如 JQuery.sumoselect

提到的插件能够使选择框看起来像:

有很多种可能性,但可以肯定的是,你必须让 JS 参与其中。