1

我正在构建一个django-filter FilterViewModelSelect2Widget用于一些过滤表单字段。

它可以正确选择项目,并在 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

4

0 回答 0