我正在构建一个django-filter FilterView
,ModelSelect2Widget
用于一些过滤表单字段。
它可以正确选择项目,并在 URL 中构建正确的查询参数,但是当我重新加载页面并filter
在上下文中传递实例时,ModelSelect2Widget
不会显示先前选择的项目。
在模板中,我检查了{{ filter.form.data }}
有效地包含所选数据:没关系。
原则上,代码库是这样的:
class BookFilterSet(FilterSet):
author = MethodFilter(widget=ModelSelect2Widget(
queryset=User.objects.all(),
search_fields=['username__icontains',]
),
action = 'no_action'
def no_action(self, queryset, name, value):
"""a neutral action"""
return queryset
class FilterView(FilterView):
filterset_class = BookFilterSet
template_name = "books.html"
我是否需要重写某些方法才能filter.form.initial
在 中显示ModelSelect2Widget
?