From 9ecc951c74786a8174a1d1c278a2c932945e1906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Lang?= Date: Wed, 18 Oct 2017 18:54:58 -0300 Subject: [PATCH] Allow per-field overriding of default_operator So I can do something like this: ```python class AlbumFilterSet(FilterSet): class Meta: model = Album query = session.query(Album) operators = (Equal, Greater, Less) column_overrides = { 'name': {'default_operator': Like} } ``` --- filteralchemy/filterset.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/filteralchemy/filterset.py b/filteralchemy/filterset.py index 47b0614..7095fae 100644 --- a/filteralchemy/filterset.py +++ b/filteralchemy/filterset.py @@ -77,10 +77,12 @@ def get_model_filters(mcs, klass): opts.converter.field_for(opts.model, prop.key) ) operators = overrides.get('operators') or opts.operators + default_operator = (overrides.get('default_operator') or + opts.default_operator) for operator in operators: operator_name = ( operator.label - if operator != opts.default_operator + if operator != default_operator else None ) name = underscore_formatter(prop.key, operator_name)