Графеновая мутация Tultorial не работает - PullRequest
0 голосов
/ 27 июня 2018

Я начал изучать GraphQL уже неделю, и моя самая большая проблема связана с почтовыми данными. Я читал, что это все о мутациях, но я не делаю это правильно. Я просто пытаюсь опубликовать объект Survivor (моя модель) в моей базе данных
Вот код: Это схема приложения

import graphene
from graphene import relay, ObjectType

from graphene_django.types import DjangoObjectType
from graphene_django.filter import DjangoFilterConnectionField

from .models import Survivor

class SurvivorNode(DjangoObjectType):
    class Meta:
        model = Survivor
        filter_fields = ['name']
        interfaces = (relay.Node, )



class SurvivorInput(graphene.InputObjectType):

    name = graphene.String(required=True)
    age = graphene.Int(required=True)


class AddSurvival(graphene.Mutation):
    class Arguments:
        survivor_data = SurvivorInput()

    survivor = graphene.Field(SurvivorNode)

    @staticmethod
    def mutate(root,info,survivor_data):
        survivor=Survivor(
            name = survivor_data.name,
            age = survivor_data.age
        )

        return AddSurvival(survivor = survivor)



class Query(object):
    all_survivors = DjangoFilterConnectionField(SurvivorNode)
    survivor = relay.Node.Field(SurvivorNode)

Ребята, скажите, пожалуйста, в чем дело?

а что мне делать правильно?

1 Ответ

0 голосов
/ 20 ноября 2018

в методе mutate вам нужно изменить

survivor=Survivor(
            name = survivor_data.name,
            age = survivor_data.age
        )

к этому

survivor=Survivor.objects.create(
            name = survivor_data.name,
            age = survivor_data.age
        )

потому что вы хотите создать новый объект типа Survivor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...