关系
关系是一个引用字段:一条记录指向另一条记录。查询可以在同一次请求中跨它读取,字段会声明这是哪种关系,由此决定访问和删除是否沿它传递。
跨引用读取
在 GraphQL 中,引用会解析为目标记录自身的类型,因此你可以内联选取相关字段。字段可以限定只能指向哪些模型。如果允许两个或更多模型,它返回一个联合类型,用内联片段读取。在 SDK 的数据客户端中,关系需要主动开启:用 include,最多可嵌套三层。
在一次请求内,指向同一模型记录的引用会分批一起获取。默认情况下,查询最多可嵌套 24 层。
过滤与写入
列表查询可以借助引用进行过滤,使用被引用模型自己的过滤器,例如查找作者具有指定自然键的文章。写入时通过记录的自然键把引用连接到该记录,或断开连接以清除它。
反向遍历
为引用命名一个inverse,目标模型就会多出一个字段,列出指向它的记录。对于组合,该字段是普通列表。对于关联,它是分页连接,接受与该模型列表查询相同的过滤、排序和分页参数。