以Django形式显示可搜索的多个字段
因此,在我的菜品表(配料、盒子)中多对多字段的管理UI中,当我使用下面的代码时,表单元素是一个可搜索的框,其中包含该字段相关模型的整个查询集,并允许我将所选内容移动到右侧所选对象的姊妹框中。我使用admin.py中的以下代码执行此操作以Django形式显示可搜索的多个字段,django,django-forms,Django,Django Forms,因此,在我的菜品表(配料、盒子)中多对多字段的管理UI中,当我使用下面的代码时,表单元素是一个可搜索的框,其中包含该字段相关模型的整个查询集,并允许我将所选内容移动到右侧所选对象的姊妹框中。我使用admin.py中的以下代码执行此操作 class Dishes(admin.ModelAdmin): ... filter_horizontal = ('ingredients', 'boxes',) 我试图在我的前端表单中复制用户看到的相同行为,这是my forms.py中的代码
class Dishes(admin.ModelAdmin):
...
filter_horizontal = ('ingredients', 'boxes',)
我试图在我的前端表单中复制用户看到的相同行为,这是my forms.py中的代码
class RecipesForm(ModelForm):
class Meta:
model = models.Dishes
但我得到的只是一个简单的多选框。我如何复制我在管理中所做的,在管理中,我在左侧有一个可搜索框,在右侧有一个可搜索框,其中包含我从左侧选择的对象 您只需为两个字段设置管理小部件:
from django.contrib.admin.widgets import FilteredSelectMultiple
class RecipesForm(ModelForm):
class Meta:
model = models.Dishes
widgets = {
'ingredients': FilteredSelectMultiple('Ingredients', False),
'boxes': FilteredSelectMultiple('Boxes', False)
}
此外,您还需要添加管理员静态文件(css、js),以便小部件正常工作,有关详细信息,请参阅此链接:
我在上面的代码中得到以下错误点,以“配料”开头,异常类型:TypeError异常值:\uuuu init\uuuu()至少接受3个参数(给定1个)