如何实现在管理面板中显示表单的字段(当它被填充时)(屏幕截图)?我尝试使用forms.CheckboxSelectMultiple小部件,但它不太适合。它提供了整个列表从请求作为一个整体,这不是很方便,因为我的列表将非常大。我们需要一个滑块和搜索字段,因为它实际上是在管理面板中实现的。
forms.CheckboxSelectMultiple
xriantvc1#
要在表单中实现与管理面板中相同的字段显示,您可以使用Django的FilteredSelectMultiple小部件。此小部件包括一个搜索字段和一个滑块,可以更轻松地从大型列表中选择多个项目。你可以从django.contrib.admin.widgets导入这个widget,并在表单域中使用它,如下所示:
FilteredSelectMultiple
from django.contrib.admin.widgets import FilteredSelectMultiple from django.forms import ModelMultipleChoiceField, ModelForm class MyForm(ModelForm): my_field = ModelMultipleChoiceField( queryset=MyModel.objects.all(), widget=FilteredSelectMultiple("verbose name", is_stacked=False) )
确保将MyModel替换为模型名称,并根据需要调整小部件的详细名称和is_stacked参数。
MyModel
1条答案
按热度按时间xriantvc1#
要在表单中实现与管理面板中相同的字段显示,您可以使用Django的
FilteredSelectMultiple
小部件。此小部件包括一个搜索字段和一个滑块,可以更轻松地从大型列表中选择多个项目。
你可以从django.contrib.admin.widgets导入这个widget,并在表单域中使用它,如下所示:
确保将
MyModel
替换为模型名称,并根据需要调整小部件的详细名称和is_stacked参数。