You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GraphQL获取Directus数据库关系时遇验证错误求助

问题排查与解决

问题根源

你碰到的Cannot query field "relations" on type "Query"错误,本质是Directus的GraphQL API对系统集合的命名规则和REST API不同——官方文档里的示例是REST API的写法,而GraphQL中系统集合需要加system_前缀才能访问。

修正方案

  1. 修改查询语句
    把原查询里的relations替换为system_relations,这是GraphQL对应系统关系数据的正确查询字段:
query {
    system_relations {
        collection
        field
    }
}
  1. 确认权限配置
    确保你用来发起请求的账号,在Directus后台的「角色与权限」设置中,拥有system_relations集合的读取权限。你之前能正常查boards是因为自定义集合的权限已经开启,但系统集合的权限默认是关闭状态,必须手动配置。

关于提示的说明

Postman弹出的「Did you mean "locations"?」只是GraphQL的模糊匹配提示,和你的问题完全无关,直接忽略即可——它只是在当前账号可访问的字段里找了个名称相似的选项,和系统关系数据没有关联。

内容的提问来源于stack exchange,提问作者EdMadd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:30:38