Ica*_*rim 5 django graphene-python graphiql
我有以下情况:我有一个用户,每个用户都有一个库存。我正在努力在 Mutation“CreateUser”中声明用户的库存。以下是用于创建用户的以下更改:
mutation Create{
addUser(UserData:{name:"Shibunika",age:21}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试在此突变中声明用户的库存,我期望类似
mutation Create{
addUser(UserData:{name:"Shibunika",age:21,inventory:{'item1':45,'item2':25}
}s
Run Code Online (Sandbox Code Playgroud)
这些数字是每个项目的数量。我如何在石墨烯中定义这些输入?你会轻轻地给我看一个模式吗?
Mar*_*ian 10
您可以创建一个自定义对象类型来表示一个键值对,然后在您的用户架构中列出这些对象类型。
class InventoryKeyValueType(graphene.InputObjectType):
name = graphene.String(required=True)
int_value = graphene.Int(required=True)
class AddUser(graphene.Mutation):
user = graphene.Field(lambda: UserType)
ok = graphene.Boolean()
class Arguments:
# User Fields
name = graphene.String()
....
inventory = graphene.List(InventoryKeyValueType)
Run Code Online (Sandbox Code Playgroud)
语法有点笨拙但可行:
mutation { addUser(name:"Shibunika", age:21, inventory:[ {name: "item1", intValue: 45}, {name: "item2", intValue:25}]){ok}
其他输入类型
这种方法可以很容易地扩展到整数以外的其他输入类型,例如替换
int_value = graphene.Int(...
Run Code Online (Sandbox Code Playgroud)
和
str_value = graphene.String(...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2256 次 |
| 最近记录: |