I'm trying to rebuild a legacy API with DRF and django-filter. One of the field names is from
, but
from = DateTimeFilter(field_name="created_dt", lookup_expr="gte")
is not valid Python. Can I name the variable
from_ = DateTimeFilter(...)
but still expose the API parameter as ?from=
to users?
Override the __init__()
method of FilterSet
class
from django_filters import rest_framework as drf_filters
class FooFilterSet(drf_filters.FilterSet):
foo = drf_filters.CharFilter() # some random field
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.filters["from"] = drf_filters.DateTimeFilter(field_name="created_dt", lookup_expr="gte")
class Meta:
model = Foo
fields = ('foo', 'from')