繁体   English   中英

使用GraphQL +石墨烯进行删除操作的最佳方法

[英]Best way to do a delete operation with GraphQL + graphene

我很难让我的删除操作正常工作。 我的创建,读取和更新工作正常,但删除没有任何回报。

class DeleteEmployeeInput(graphene.InputObjectType):
    """Arguments to delete an employee."""
    id = graphene.ID(required=True, description="Global Id of the employee.")


class DeleteEmployee(graphene.Mutation):
    """Delete an employee."""
    employee = graphene.Field(
        lambda: Employee, description="Employee deleted by this mutation.")

    class Arguments:
        input = DeleteEmployeeInput(required=True)

    def mutate(self, info, input):
        data = utils.input_to_dictionary(input)
        #data['edited'] = datetime.utcnow()

        employee = db_session.query(
            EmployeeModel).filter_by(id=data['id'])
        employee.delete(data['id'])
        db_session.commit()
        #employee = db_session.query(
            #EmployeeModel).filter_by(id=data['id']).first()

        #return DeleteEmployee(employee=employee)

删除条目的最佳方法是什么? 我假设我必须返回OK或错误。

当我运行我的突变时:

mutation {
  deleteEmployee (input: {
       id: "RW1wbG95ZWU6MQ=="
  }) 
}

我得到错误Field \\"deleteEmployee\\" of type \\"DeleteEmployee\\" must have a sub selection."

注意注释掉的行

尝试用ok = graphene.Boolean()替换employee = graphene.Field...然后使mutate方法的最后一行return DeleteEmployee(ok=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM