Django models 如何使用Django嵌套对象添加GraphQL变体?

Django models 如何使用Django嵌套对象添加GraphQL变体?,django-models,graphql,graphene-python,Django Models,Graphql,Graphene Python,在我的项目中,我有一个名为Workflows的对象,它与另一个名为DataSources的对象具有1:Many关系。我非常接近能够使用GraphQL变体创建新的工作流。以下是相关代码: 类数据源输入(graphene.inputObject类型): id=graphene.Int() 数据库名称=graphene.String() 表_name=graphene.String() @类方法 def get_节点(cls、id、上下文、信息): 节点=获取数据源(id) 返回节点 类Create

在我的项目中,我有一个名为
Workflows
的对象,它与另一个名为
DataSources
的对象具有1:Many关系。我非常接近能够使用GraphQL变体创建新的工作流。以下是相关代码:

类数据源输入(graphene.inputObject类型):
id=graphene.Int()
数据库名称=graphene.String()
表_name=graphene.String()
@类方法
def get_节点(cls、id、上下文、信息):
节点=获取数据源(id)
返回节点
类CreateWorkflow(relay.clientImutation):
类输入:
name=graphene.String()
description=graphene.String()
数据源=graphene.List(数据源输入)
工作流=石墨烯字段(工作流)
success=graphene.Boolean()
错误=graphene.String()
@类方法
def mutate_和_get_有效载荷(cls、输入、上下文、信息):
name=input.get('name')
description=input.get('description')
datasources=input.get('datasources'))
尝试:
工作流=WorkflowModel.create(名称、描述、数据源)
返回CreateWorkflow(工作流=工作流,成功=真)
例外情况除外,如e:
成功=错误

在python中返回CreateWorkflow(workflow=None,success=False,errors=str(e))
,如果将其指定为字典键,则可能会发生错误。 比如说

>>> a = dict()
>>> type(a)
<class 'dict'>
>>> a[[0]] = 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>a=dict()
>>>类型(a)
>>>a[[0]]=1
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:不可损坏的类型:“列表”
在字典中,哈希函数用于响应低成本处理的要求,在设置和获取值时通过eq避免整个搜索

hashable的一个例子是内置的int、str、tuple和frozenset

此上下文中的dict是一个Graphql请求。 所以首先检查查询中key的值是否可以散列。
另外,最好同时放上我请求的查询示例。

datasources=graphene.List(DataSourceInput)这很不幸,您是如何解决的?