Graphene AssertionError: Не удается найти тип в схеме - PullRequest
0 голосов
/ 17 марта 2020

Я создаю такую ​​схему, используя графен v2.1.8 и изучая этот пример :

class Employee(graphene.Interface):
    employee_id = graphene.ID()
    employee_type = graphene.Field(lambda: EmployeeType)

    @classmethod
    def resolve_type(cls, instance, info):
        if instance.get("employee_type") == EmployeeType.PART_TIME.name:
            return PartTimeEmployee
        return FullTimeEmployee


class PartTimeEmployee(graphene.ObjectType):
    class Meta:
        interfaces = (Employee, )


class FullTimeEmployee(graphene.ObjectType):
    class Meta:
        interfaces = (Employee, )

Когда я запускаю запрос к нему, я получаю следующую ошибку:

AssertionError: Не удается найти тип PartTimeEmployee в схеме

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 19 марта 2020

Если типы PartTimeEmployee, FullTimeEmployee явно не упомянуты в классах запросов - необходимо зарегистрировать типы в Schema вручную.

schema = Schema(query=Query, types=[PartTimeEmployee, FullTimeEmployee])
...