石墨烯Python突变列表输入

石墨烯Python突变列表输入,python,graphene-python,graphql-python,Python,Graphene Python,Graphql Python,我有一个像这样的突变 class ApisInteractiveGlobal(BaseMutation): success = Boolean() error = String() class Arguments: user_id = List(ID) api_name = String() global_apis = Boolean() my_org_api = Boolean() def mutate(self, info, user_id=[], api

我有一个像这样的突变

class ApisInteractiveGlobal(BaseMutation):
success = Boolean()
error = String()

class Arguments:
    user_id = List(ID)
    api_name = String()
    global_apis = Boolean()
    my_org_api = Boolean()

def mutate(self, info, user_id=[], api_name=None, global_apis=None, my_org_api=None):
    for id in user_id:
        user = User.objects.get(id=id)
        api = user.apis_interactive.get(name=api_name)
        if my_org_api is not None:
            api.my_orgapis = my_org_api
        if global_apis is not None:
            api.global_apis = global_apis
        api.save(update_fields=['global_apis', 'my_orgapis'])
    return ApisInteractiveGlobal(success=True)

在这里,我试图一次传递一个用户列表,以更新代码中的一些值。但是这种突变会抛出错误。有人能为突变建议一个列表输入作为例子吗?

传递任何其他类型的值列表都很容易,使用类似于list(String)的方法 比如说

class ApisInteractiveGlobal(BaseMutation):
success = Boolean()
error = String()

class Arguments:
    user_id = List(ID)
    apis = List(String)
    global_apis = Boolean()
    my_org_api = Boolean()

def mutate(self, info, user_id=[], apis=[], global_apis=None, my_org_api=None):
    for id in user_id:
        for api in apis:
            user = User.objects.get(id=id)
            api = user.apis_interactive.get(name=api)
            if my_org_api is not None:
                api.my_orgapis = my_org_api
            if global_apis is not None:
                api.global_apis = global_apis
            api.save(update_fields=['global_apis', 'my_orgapis'])
    return ApisInteractiveGlobal(success=True)

在上面的代码中,为了传递用户ID列表和字符串列表,我使用了list(ID)和list(String)。它起作用了

Hi,你能添加变异引发的错误吗?谢谢