Можно ли разрешить два поля, используя вывод одного поля, чтобы сгенерировать вывод другого поля? Например, мне нужно сгенерировать токен обновления с токеном доступа, но я не уверен, как получить токен доступа в преобразователе токенов обновления.
class Tokens(graphene.ObjectType):
accessToken = graphene.String()
refreshToken = graphene.String()
def resolve_accessToken(self, info, **kwargs):
return "..."
def resolve_refreshToken(self, info, **kwargs):
return "..."






Попробуйте добавить метод для генерации токена доступа, который вызывается из методов обновления.
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_token против accessToken.