mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-11 00:32:24 +03:00
only override declared filters with in lookup
This commit is contained in:
parent
5dea6ffa41
commit
a107c29566
|
@ -79,22 +79,23 @@ def replace_csv_filters(filterset_class):
|
|||
"""
|
||||
for name, filter_field in list(filterset_class.base_filters.items()):
|
||||
filter_type = filter_field.lookup_expr
|
||||
if filter_type in {"in", "contains", "overlap"}:
|
||||
filterset_class.base_filters[name] = InFilter(
|
||||
field_name=filter_field.field_name,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
if name not in filterset_class.declared_filters:
|
||||
if filter_type in {"in", "contains", "overlap"}:
|
||||
filterset_class.base_filters[name] = InFilter(
|
||||
field_name=filter_field.field_name,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
|
||||
elif filter_type == "range":
|
||||
filterset_class.base_filters[name] = RangeFilter(
|
||||
field_name=filter_field.field_name,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
elif filter_type == "range":
|
||||
filterset_class.base_filters[name] = RangeFilter(
|
||||
field_name=filter_field.field_name,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue
Block a user