Мутация графена определена как null despiete возвращаемое значение - NonNull
Я работаю с graphene для обработки мутаций в приложении с django в качестве бэкенда. Я написал следующую мутацию:
import graphene
from django.db import transaction
from graphql_jwt.decorators import login_required
from app1.enums import SomeOptions
from app1.models import SomeModel
from app2.utils.some_api import SomeApi
class SetOtherAppConfig(graphene.Mutation):
url = graphene.NonNull(graphene.String)
@login_required
@transaction.atomic
def mutate(self, info, *args, **kwargs):
authorization_url = SomeApi().authorization_url
user_id = int(info.context.session['_auth_user_id'])
company_id = int(info.context.session['id_emp'])
SomeModel.objects.get_or_create(
company_id=company_id,
code=SomeOptions.API.name,
defaults={
'name': SomeOptions.API.value,
'username': '',
'password': '',
'token': '',
'base_url': '',
'others': '',
'created_by_id': user_id,
'updated_by_id': user_id,
},
)
return SetSomeConfig(url=authorization_url)
Проблема в том, что сама мутация сообщается как null или string. Атрибут url, с другой стороны, может быть только String, как и ожидалось. Как я могу сказать graphene, что мутация (или класс) не может быть null?
Я думаю, вы хотите:
url = graphene.String(required=True)