我正在努力使删除操作正常运行。 我的创建,读取和更新工作正常,但是删除无返回值。
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或Error。
当我进行突变时:
mutation {
deleteEmployee (input: {
id: "RW1wbG95ZWU6MQ=="
})
}
我收到错误Field \"deleteEmployee\" of type \"DeleteEmployee\" must have a sub selection."
注意注释掉的行
答案 0 :(得分:2)
尝试将employee = graphene.Field...
替换为ok = graphene.Boolean()
,然后将变异方法的最后一行设为return DeleteEmployee(ok=True)