首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在django-graphene根模式中创建用于中继的查看器字段?

如何在django-graphene根模式中创建用于中继的查看器字段?
EN

Stack Overflow用户
提问于 2018-09-07 04:04:54
回答 1查看 300关注 0票数 0

如何为石墨烯-django中的react-relay创建一个查看器字段?这并不像预期的那样工作。我使用的是石墨烯-django v.2.2。Django 2.1。React-relay v1.7.0-rc.1。

代码语言:javascript
复制
// landingpage.schema.py

class CollectionNode(DjangoObjectType):
  class Meta:
    model = Collection
    interfaces = (relay.Node, )

class Viewer(graphene.ObjectType):
  class Meta:
    interfaces = [relay.Node, ]

  collection = graphene.Field(CollectionNode)

  def resolve_collection(self, info, **kwargs):
    return Collection.objects.all()


class Query(object):
  viewer = graphene.Field(Viewer)

  def resolve_viewer(self, info, **kwargs):
    return Viewer() # or info.parent_type
EN

回答 1

Stack Overflow用户

发布于 2018-09-07 04:10:19

我设法自己解决了这个问题。因此,我将查看器对象移动到根模式,如下所示。希望这篇文章能帮助其他有同样问题的人。

代码语言:javascript
复制
// project_name.schema.py

import graphene
import graphql_jwt
from django.conf import settings
from graphene import relay, ObjectType

import about.schema
import shop.schema
import landingpage.schema

class Viewer(about.schema.Query, landingpage.schema.Query, shop.schema.Query, graphene.ObjectType):
  class Meta:
    interfaces = [relay.Node, ]

class Query(graphene.ObjectType):
  viewer = graphene.Field(Viewer)

  def resolve_viewer(self, info, **kwargs):
    return Viewer() # or info.parent_type

class Mutation(shop.schema.Mutation, graphene.ObjectType):
  token_auth = graphql_jwt.ObtainJSONWebToken.Field()
  verify_token = graphql_jwt.Verify.Field()
  refresh_token = graphql_jwt.Refresh.Field()

schema = graphene.Schema(query=Query, mutation=Mutation)

_

代码语言:javascript
复制
// landingpage.schema.py

class CollectionNode(DjangoObjectType):
  class Meta:
    model = Collection
    interfaces = (relay.Node, )

# 
#  QUERY

class Query(object):
  class Meta:
    interfaces = [relay.Node, ]

  collection = graphene.Field(CollectionNode)

  def resolve_collection(self, info, **kwargs):
    return Collection.objects.all()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52211426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档