django - graphene.Node 和 graphene.relay.Node 有什么区别?

标签 django graphql graphene-python graphene-django

我尝试了解 Django 中的 Graphql 并使用 graphenegraphene_django .
我的前端可能会使用 Vuejs 和 Apollo 客户端构建。
互联网上的所有教程都是关于经典的 Graphql 或 Relay。
似乎建议使用其节点和边缘进行中继(是吗?)。
但是 Node 和 Edges 可用于接口(interface) graphene.Node或接口(interface)graphene.relay.Node .

这两者之间有什么区别吗?

补充问题:即使我不会使用 Relay/React,使用节点和边也是一个好习惯吗? Apollo 文档都是关于经典 Graphql 的。

问候

最佳答案

正如 Yang HG 所指出的,relay.Node 和 Node 之间没有区别。

使用 Node 接口(interface)是否是一个好习惯,它最好的一点是它强制继承 Node 的类型有一个 ID。第二个优势:Connection (向节点的连接和边缘添加额外的字段)。

阅读此内容以了解如何为所有节点强制执行 ID:https://atheros.ai/blog/graphql-interfaces-and-unions-how-to-design-graphql-schema

关于django - graphene.Node 和 graphene.relay.Node 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56117612/

相关文章:

mysql - 南迁移错误,InnoDB : ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope

regex - 使用 django admin 在 httpd.conf 中使用 AliasMatch

graphql - 访问 Apollo 服务器进行 NestJS GraphQL 测试

reactjs - Apollo graphql 连接的 React 组件不会重新渲染

Django 与 Graphite 烯 : How to handle bidirectional relationship with polmorphic models?

django - 如何从模板中访问模型表单的外键属性?

Django根据不工作的类别计算类似的帖子

java - GraphQL + Java - 如何过滤子字段?

python - 如何使用 gql 客户端在 GraphqQL 查询中声明变量?

python - 如何覆盖 Graphite 烯中的 DjangoModelFormMutation 字段类型?