【问题标题】:Graphene Mutation Tultorial not working石墨烯突变教程不起作用
【发布时间】:2018-12-06 17:48:06
【问题描述】:

我已经开始学习 GraphQL 一周了, 我最大的挑战是处理发布数据。 我读过这都是关于突变的,但是我做的不对。 我只是想将幸存者(我的模型)对象发布到我的数据库
这是代码: 这是应用程序的架构

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)

请大家告诉我怎么了?

我应该怎么做?

【问题讨论】:

    标签: django python-3.x api graphql


    【解决方案1】:

    在mutate方法中你需要改变

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

    到这里

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

    因为您想创建 Survivor 类型的新对象。

    【讨论】:

      猜你喜欢
      • 2020-09-01
      • 2017-03-18
      • 2022-10-25
      • 2022-01-17
      • 2020-04-09
      • 2020-09-07
      • 2019-10-09
      • 2017-08-25
      • 2017-05-11
      相关资源
      最近更新 更多