gpt4 book ai didi

python - 初始值不适用于 django-filters 上的 ChoiceField

转载 作者:行者123 更新时间:2023-12-04 17:28:34 25 4
gpt4 key购买 nike

我有以下 django-filter ( https://github.com/alex/django-filter/) 过滤器:

class ApplicationFilter(django_filters.FilterSet):    status = django_filters.ChoiceFilter(choices=STATUS2,)

状态包含以下元组列表:

STATUS_CHOICES = (    ( '', u'All'),    ( 'NEW', u'New'),    ( 'SUBMIT', u'Submit'),    ( 'CANCEL', u'Cancel'),)

现在,我想为该过滤器设置一个不同于空过滤器(全部)的初始值。所以我尝试了以下操作,但都 没有成功:

我。向字段添加初始参数:status = django_filters.ChoiceFilter(choices=STATUS2, initial = 'NEW' ) 或使用数组 status = django_filters.ChoiceFilter(choices=STATUS2, initial = ['NEW'] )。使用默认初始值呈现的表单。

二。修改表单的__init__:

    def __init__(self, *args, **kwargs):        super(ApplicationFilter, self).__init__(*args, **kwargs)        self.form.initial['status']='NEW'        self.form.fields['status'].initial='NEW'
-- 再次使用默认初始值 (All) 呈现表单...还尝试将值设置为 ['NEW'] -- 再次失败。

有人知道应该如何处理吗?我正在使用最新的(来自 github)版本的 django-filter。

TIA

最佳答案

试试这个:

def __init__(self, *args, **kwargs):
super(ApplicationFilter, self).init(*args, **kwargs)
self.initial['status'] = 'NEW'

关于python - 初始值不适用于 django-filters 上的 ChoiceField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23733106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com