Files
fastapi-admin/examples/filters.py
2020-10-19 17:55:17 +08:00

29 lines
726 B
Python

from typing import Any
from tortoise import QuerySet
from tortoise.query_utils import Q
from fastapi_admin.filters import Filter, SearchFilter, register_filter
from fastapi_admin.site import Field
class CustomFilter(Filter):
@classmethod
def get_queryset(cls, queryset: QuerySet) -> QuerySet:
return queryset.filter(~Q(key="test"))
@register_filter
class LikeFilter(SearchFilter):
@classmethod
def get_queryset(cls, queryset: QuerySet, value: Any) -> QuerySet:
return queryset.filter(name__icontains=value)
@classmethod
async def get_field(cls) -> Field:
return Field(label="NameLike", type="text")
@classmethod
def get_name(cls) -> str:
return "filter"