Установите графеновое поле при возврате из резольвера запросов

В настоящее время мы переходим со старой версии graphene (0.99) на новую (2.15). В старой версии мы могли устанавливать значение поля в резольвере запросов. Например:

class DogType(DjangoObjectType):
    selected = graphene.Boolean()
    
    class Meta:
        model = Dog


class DogsQuery(graphene.ObjectType):
     dogs = graphene.List(DogType)

     resolve_dogs(self, info):
          top_dogs = Dogs.objects.all()[:10]

          return [DogType(d, selected=(i == 0)) for i, d in enumerate(top_dogs)]

Этот преобразователь возвращает список DogTypes, причем первая собака в списке имеет "selected=True", а остальные - "selected=False". Он успешно решает задачу.

В новых версиях graphene это приводит к ошибке: "'DogType' объект не имеет атрибута 'pk'". Я предполагаю, что это происходит потому, что новые версии graphene не хотят, чтобы мы возвращали Types. Поэтому мне просто интересно, можно ли установить поле graphene "selected" в самом резольвере запроса в новых версиях graphene?

Вернуться на верх