Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以Django形式显示可搜索的多个字段_Django_Django Forms - Fatal编程技术网

以Django形式显示可搜索的多个字段

以Django形式显示可搜索的多个字段,django,django-forms,Django,Django Forms,因此,在我的菜品表(配料、盒子)中多对多字段的管理UI中,当我使用下面的代码时,表单元素是一个可搜索的框,其中包含该字段相关模型的整个查询集,并允许我将所选内容移动到右侧所选对象的姊妹框中。我使用admin.py中的以下代码执行此操作 class Dishes(admin.ModelAdmin): ... filter_horizontal = ('ingredients', 'boxes',) 我试图在我的前端表单中复制用户看到的相同行为,这是my forms.py中的代码

因此,在我的菜品表(配料、盒子)中多对多字段的管理UI中,当我使用下面的代码时,表单元素是一个可搜索的框,其中包含该字段相关模型的整个查询集,并允许我将所选内容移动到右侧所选对象的姊妹框中。我使用admin.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个)