[英]What is the best way to provide transaction operation if I use 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.