Как настроить ответ graphene-django?
У меня есть GraphQL API с graphene-django, и я хочу настроить ответ на запрос. Вот ответ по умолчанию;
{
"data": {
"materials": {
}
},
"errors": {
}
}
Однако, я хочу настроить его следующим образом;
{
"data": {
"materials": {
}
},
"errors": {
},
"extra_field": {
}
}
Как я могу это сделать?
Я не уверен в простом способе сделать это в graphene-django/python. Кажется, что есть способы достичь этого в NodeJS. Однако если ваша цель - добавить некоторые данные в каждый отдельный ответ, вы можете создать суперкласс, от которого наследуют все ваши классы. Это означает, что ваш extra_field всегда будет там, но он будет находиться внутри data.
class MyBaseType(DjangoObjectType):
class Meta:
abstract = True
extra_field = graphene.JSONField()
def resolve_extra_field(self, info):
return #something
И затем наследовать в ваших обычных классах.
class UserType(MyBaseType):
class Meta:
model = User