在我的Graphene-Django项目中,我有这样的结构:
项目级别:
Feel free to use this code and let me know if you need any update on this.
应用级别:
schema.py
这很好但查询文件已经变得非常大。有没有办法将类Query 分成多个类和/或多个文件?
罗伯特
答案 0 :(得分:3)
从项目模式文件的角度来看,您可以在Query类中使用继承来引入每个单独的Query类。您可以使用相同的技术来拆分Mutation。例如:
from django.conf import settings
import graphene
from graphene_django.debug import DjangoDebug
from django.conf import settings
from app1.schema import App1Query, App1Mutation
from app2.schema import App2Query, App2Mutation
class Query(App1Query, App2Query, graphene.ObjectType):
if settings.DEBUG:
# Debug output - see
# http://docs.graphene-python.org/projects/django/en/latest/debug/
debug = graphene.Field(DjangoDebug, name='__debug')
class Mutation(App1Mutation, App2Mutation, graphene.ObjectType):
pass
schema = graphene.Schema(query=Query, mutation=Mutation)
(请注意,如果DEBUG
为True,我也动态添加调试类 - 这与您的问题无关,但它很方便。)
如果需要,您应该能够使用相同的继承技术进一步拆分查询,例如分开App1Query
。