__init__.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:crm 作者: Incubaid 项目源码 文件源码
def init_graphql_schema():
        """
        Go through all sub apps defined Queries, Types and mutations
        defined in (graphql.py) and register them in one global schema
        """

        # Import all (graphql) submodules defined in package 'graphql'
        # After importing we'll have
        # All Queries under ::  BaseQuery.__subclasses__()
        # All Types under :: SQLAlchemyObjectType.__subclasses__()
        # All Mutations under :: BaseMutation.__subclasses__()
        CRM._load_modules(module_type='types')
        CRM._load_modules(module_type='queries')
        CRM._load_modules(module_type='mutations')

        schema = graphene.Schema(

            # Make dynamic Query class that inherits all defined queries
            query=type(
                'Query',
                tuple(BaseQuery.__subclasses__()),
                {}
            ),

            types=list(SQLAlchemyObjectType.__subclasses__()),

            # Make dynamic Mutations class that inherits all defined mutations
            mutation=type(
                'Mutations',
                tuple(BaseMutation.__subclasses__()),
                {}
            )
        )

        return schema
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号