【问题标题】:Strawberry GraphQL Django limiting filtering options in GraphiQL interfaceStrawberry GraphQL Django 限制 GraphiQL 界面中的过滤选项
【发布时间】:2022-12-30 03:15:45
【问题描述】:

所以我有两个 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 页面中,他们生成了一个如下所示的过滤器:

我不需要用户的所有筛选字段,因为其中一些字段没有意义,例如对 id 使用 isNull 或正则表达式字段。有没有办法限制过滤器选项以使其不那么混乱?

【问题讨论】:

  • 我不这么认为......不过你可以打开一个PR。
  • @ccsv,在 strawberry django 上开一个 issue 可能是最好的方法:)

标签: django graphql strawberry-graphql


【解决方案1】:

派对有点晚了,但是是的,你可以这样做,但你必须像这样定义自己的输入:

@strawberry.input
class LimitedFilterLookup(Generic[T]):
    i_contains: Optional[T] = UNSET

然后不对过滤器的字段使用 auto,而是像这样声明它们:

@strawberry.django.filters.filter(models.Client)
class ClientFilter:
    name: LimitedFilterLookup[str]

【讨论】:

    猜你喜欢
    • 2021-02-03
    • 2012-02-08
    • 2019-01-31
    • 2015-04-30
    • 2021-11-01
    • 1970-01-01
    • 2011-03-04
    • 2020-09-11
    • 2021-07-25
    相关资源
    最近更新 更多