Клубника GraphQL Django ограничивает возможности фильтрации в интерфейсе GraphiQL
У меня есть два graphql фильтра для внешнего ключа, которые работают в Strawberry GraphQL Django v0.31.
@strawberry.django.filters.filter(models.Client, lookups=True)
class ClientFilter:
id:auto
name:auto
@strawberry.django.filters.filter(models.Matter, lookups=True)
class MatterFilter:
id: auto
client:'ClientFilter'
category:auto
На странице GraphiQL они создают фильтр, который выглядит следующим образом:
Мне не нужны все поля фильтра для пользователя, потому что некоторые из них не имеют смысла, например, использование isNull или regex-поля для id. Есть ли способ ограничить параметры фильтра, чтобы он был менее загроможден?
Немного поздновато, но да, вы можете это сделать, но вам придется определить свой собственный вход, например, так:
@strawberry.input
class LimitedFilterLookup(Generic[T]):
i_contains: Optional[T] = UNSET
Затем вместо использования auto для полей фильтра вы объявите их следующим образом:
@strawberry.django.filters.filter(models.Client)
class ClientFilter:
name: LimitedFilterLookup[str]