Graphene resolver for an object that has no model

后端 未结 1 1083
一整个雨季
一整个雨季 2021-01-05 13:19

I\'m trying to write a resolver that returns an object created by a function. It gets the data from memcached, so there is no actual model I can tie it to.

相关标签:
1条回答
  • 2021-01-05 14:12

    GraphQL is designed to be backend agnostic, and Graphene is build to support various python backends like Django and SQLAlchemy. To integrate your custom backend, simply define your models using Graphene's type system and roll out your own resolvers.

    import graphene
    import time
    
    class TextLogEntry(graphene.ObjectType):
    
        log_id = graphene.Int()
        text = graphene.String()
        timestamp = graphene.Float()
        level = graphene.String()
    
    def textlog_resolver(root, args, context, info):
        log_id = args.get('log_id') # 123
        # fetch object...
        return TextLogEntry(
            log_id=log_id,
            text='Hello World',
            timestamp=time.time(),
            level='debug'
        )
    
    class Query(graphene.ObjectType):
    
        textlog_entry = graphene.Field(
            TextLogEntry,
            log_id=graphene.Argument(graphene.Int, required=True),
            resolver=textlog_resolver
        )
    
    
    schema = graphene.Schema(
        query=Query
    )
    

    0 讨论(0)
提交回复
热议问题