filter using schema

This commit is contained in:
Torrent
2025-10-16 19:47:12 +02:00
parent 55cd6d4916
commit 0a5f589c2d
2 changed files with 21 additions and 31 deletions

View File

@@ -1,9 +1,24 @@
from ninja import ModelSchema
from typing import Optional
from django.db.models import Q
from ninja import Field, FilterSchema, ModelSchema
from club.models import Club, Membership
from core.schemas import SimpleUserSchema
class ClubSearchFilterSchema(FilterSchema):
search: Optional[str] = Field(None, q="name__icontains")
club_id: Optional[int] = Field(None, q="id")
is_active: Optional[bool] = None
parent_id: Optional[int] = None
parent_name: Optional[str] = Field(None, q="parent__name__icontains")
exclude_ids: Optional[list[int]] = None
def filter_exclude_ids(self, value: list[int]):
return ~Q(id__in=value)
class SimpleClubSchema(ModelSchema):
class Meta:
model = Club