mirror of
https://github.com/fastapi-admin/fastapi-admin.git
synced 2025-08-15 11:11:19 +08:00
29 lines
726 B
Python
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"
|