django-filter操作笔记

django-filter操作笔记
Page content

手册备忘

类字段额外解析开启

exact,iexact,gt,gte,lt,lte,in,contains,icontains,startswith,istartswith,endswith,iendswith,range,isnull,regex,iregex

class AnyModelFilter(filters.FilterSet):
    class Meta:
        model = AnyModel
        fields = '__all__'

    @classmethod
    def get_fields(cls):
        fields = super().get_fields()
        for field_name in fields.copy():
            lookup_list = cls.Meta.model._meta.get_field(field_name).get_lookups().keys()
            fields[field_name] = lookup_list
        return fields