Django-filter 字段名称是 python 内置关键字

Django-filter field name is a python builtin keyword

我正在尝试使用 DRF 和 django-filter 重建遗留 API。其中一个字段名称是 from,但

from = DateTimeFilter(field_name="created_dt", lookup_expr="gte")

无效 Python。我可以命名变量

from_ = DateTimeFilter(...)

但仍将 API 参数作为 ?from= 暴露给用户?

覆盖 __init__() 方法 FilterSet class

from django_filters import rest_framework as drf_filters


class FooFilterSet(drf_filters.FilterSet):
    foo = drf_filters.CharFilter()  # some random field

    <b>def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.filters["from"] = drf_filters.DateTimeFilter(field_name="created_dt", lookup_expr="gte")</b>

    class Meta:
        model = Foo
        fields = ('foo', <b>'from'</b>)