Установите графеновое поле при возврате из резольвера запросов
В настоящее время мы переходим со старой версии 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?