【发布时间】:2014-07-07 03:20:48
【问题描述】:
我有以下 django-filter (https://github.com/alex/django-filter/) 过滤器:
类 ApplicationFilter(django_filters.FilterSet): status = django_filters.ChoiceFilter(choices=STATUS2,)状态包含以下元组列表:
STATUS_CHOICES = ( ('', 你'所有'), ('新',你'新'), ('提交', u'提交'), ('CANCEL', u'取消'), )现在,我想为该过滤器设置一个不同于空过滤器的初始值(全部)。所以我尝试了以下事情,都没有成功:
我。向字段添加初始参数:
status = django_filters.ChoiceFilter(choices=STATUS2, initial = 'NEW' ) 或数组 status = django_filters.ChoiceFilter(choices=STATUS2, initial = ['NEW'] )。使用默认初始值呈现的表单。
二。修改表单的__init__:
['NEW'] -- 再次没有运气。
有人知道这应该如何处理吗?我正在使用 django-filter 的最新(来自 github)版本。
TIA
【问题讨论】:
-
设置初始值后尝试调用父方法
__init__。 -
我应该叫它再次吗?我已经调用过一次了!
-
不,不。只需将此
super(...)行移至末尾即可。我从来没有遇到过这个问题。我调查了我的一个项目,最后我称之为。我不确定这是否能解决您的问题。 -
self.form如果我将它放在超级行 after 之后,则会引发异常。我在super()之前只做了一个print self.form并得到:AttributeError: 'ApplicationFilter' object has no attribute 'filters' -
您找到解决方案了吗?
标签: python django django-filter