Использование аргумента от преобразователя в преобразователе дочернего поля на графене, Python 3.11 ⇐ Python

Программы на Python
Anonymous
Использование аргумента от преобразователя в преобразователе дочернего поля на графене, Python 3.11

Сообщение Anonymous »

Я пытаюсь использовать аргумент преобразователя класса в преобразователе поля того же класса в Flask. Возможно ли это?
Мои классы выглядят примерно так:
from graphene import Int, ObjectType, String, Boolean, Field, List, Mutation, InputObjectType, ID
from services import Service

class ChildrenElement(ObjectType):
id=ID()
some_data=String()

class FatherElement(ObjectType):
id = ID()
children_element = Field(lambda: ChildrenElement)
other_element = String()

def resolve_children_element(root, info):
return Service.find_by_father(root.get('id'))

@classmethod
def resolver_find_element(cls, id, aditional_argument):
return Service.find_by_id(id, aditional_argument)


Я нашел способ, но мне нужно добавить в класс еще один элемент, и это может запутать документацию.
from graphene import Int, ObjectType, String, Boolean, Field, List, Mutation, InputObjectType, ID
from services import Service

class ChildrenElement(ObjectType):
id=ID()
some_data=String()

class FatherElement(ObjectType):
id = ID()
children_element = Field(lambda: ChildrenElement)
other_element = String()
aditional_argument = String()

def resolve_children_element(root, info):
return Service.find_by_father(root.get('id'), root.get('aditional_argument'))

@classmethod
def resolver_find_element(cls, id, aditional_argument):
returner_element = Service.find_by_id(id, aditional_argument)
returner_element['aditional_argument'] = aditional_argument
return returner_element

class QueryElement(ObjectType):
find_element = Field(FatherElement, id=Int(required=True), aditional_argument=String(required=False))

def resolve_find_element(self, info, id, aditional_argument):
return FatherElement.resolver_find_element(id, aditional_argument)


Подробнее здесь: https://stackoverflow.com/questions/790 ... on-graphen

Вернуться в «Python»