【发布时间】:2019-05-28 22:45:38
【问题描述】:
我正在尝试在烧瓶中返回此列表。 Teacher 是一个类并返回对象。
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers = []
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers
此代码返回的典型错误是
TypeError: 'list' object is not callable The view function did not return a valid response.
我快疯了,我不知道发生了什么。有人知道吗?
谢谢!!
编辑:
我已经解决了。问题不在于如何返回列表,问题在于对象的 JSON 序列化。
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers = []
for teacher in Teacher.objects:
teacherJson = teacher.to_json()
teacherData = json.loads(teacherJson)
teachers.append(teacherData)
return jsonify({'teachers': teachers})
感谢您的帮助。
【问题讨论】:
-
您是否尝试过检查
Teacher.objects中的值?此外,您可能需要以 json 格式返回响应。因此,您需要以 json 格式传递此列表。 -
试试
return json.dumps(teachers) -
这不起作用,它给了我这个错误:
TypeError: <Teacher: Teacher object> is not JSON serializable