【问题标题】:How to Resolve Graphene Django Field with Dependency On Another Field如何解决依赖于另一个字段的 Graphene Django 字段
【发布时间】:2019-01-20 20:14:33
【问题描述】:

是否可以使用一个字段的输出来解析两个字段以生成另一个字段的输出?例如,我需要使用访问令牌生成刷新令牌,但我不确定如何在刷新令牌解析器中获取访问令牌。

class Tokens(graphene.ObjectType):
    accessToken = graphene.String()
    refreshToken = graphene.String()

    def resolve_accessToken(self, info, **kwargs):
        return "..."

    def resolve_refreshToken(self, info, **kwargs):
        return "..."

【问题讨论】:

    标签: python django graphql graphene-python


    【解决方案1】:

    尝试添加一个方法来生成从刷新方法调用的访问令牌

    class Tokens(graphene.ObjectType):
        access_token = graphene.String()
        refresh_token = graphene.String()
    
        def get_access_token(self, info, **kwargs):
            if not hasattr(self, '_access_token'):
                # Do stuff to create access token, then stash to only create once
                self._access_token = ...
            return self._access_token
    
        def resolve_access_token(self, info, **kwargs):
            return self.get_access_token(info, **kwargs)
    
        def resolve_refresh_token(self, info, **kwargs):
            access_token = self.get_access_token(info, **kwargs)
            # Do stuff to create and return refresh token ...
    

    此外,您应该使用蛇形案例调用您的方法和字段,即 access_tokenaccessToken

    【讨论】:

      猜你喜欢
      • 2019-02-16
      • 2019-03-11
      • 2014-01-16
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多