2024-10-01 09:24:13 发布
网友
使用Django Filters时,如何添加初始/默认值?在
例如,initial=False
initial=False
class UserFilter(django_filters.FilterSet): archive = django_filters.BooleanFilter(initial=False) class Meta: model = User fields = ['archive']
我已经厌倦了重写__init__,但这似乎不起作用。在
__init__
对于DRF,您可以尝试重写__init__:
def __init__(self, *args, **kwargs): kwargs['data']._mutable = True if 'archive' not in kwargs['data']: kwargs['data']['archive'] = False kwargs['data']._mutable = False super(UserFilter, self).__init__(*args, **kwargs)
但你应该读django-filter.readthedocs.io...using-initial-values-as-defaults
您可以尝试重写UserFilter的__init__方法:
UserFilter
def __init__(self, *args, **kwargs): super(UserFilter, self).__init__(*args, **kwargs) self.form.initial['archive'] = False
我有一个类似的问题,我想保存用户的选择,即使他们已经离开页面。我在Filter视图中实现了我的解决方案,如下所示。。。在
class BucketLookupView(UserPassesTestMixin,SingleTableMixin,FilterView): template_name = "finance/planning-bucket-lookup.html" model = finance_models.SalesOrderBucket filterset_class = finance_filters.BucketFilter table_class = finance_tables.BucketTable def get_filterset_kwargs(self,*args): kwargs = super().get_filterset_kwargs(*args) if kwargs['data']: bucket_filter_data = kwargs['data'] self.request.session['bucket_filter_data']= bucket_filter_data else: if 'bucket_filter_data' in self.request.session.keys(): kwargs['data']=self.request.session['bucket_filter_data'] return kwargs
对于DRF,您可以尝试重写
__init__
:但你应该读django-filter.readthedocs.io...using-initial-values-as-defaults
您可以尝试重写
UserFilter
的__init__
方法:我有一个类似的问题,我想保存用户的选择,即使他们已经离开页面。我在Filter视图中实现了我的解决方案,如下所示。。。在
相关问题 更多 >
编程相关推荐