石墨烯突变教程不起作用
Posted
技术标签:
【中文标题】石墨烯突变教程不起作用【英文标题】: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)
请大家告诉我怎么了?
我应该怎么做?
【问题讨论】:
【参考方案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 类型的新对象。
【讨论】:
以上是关于石墨烯突变教程不起作用的主要内容,如果未能解决你的问题,请参考以下文章