How return list on Python and Flask? [duplicate]
This question already has an answer here:
Return JSON response from Flask view
9 answers
I'm trying to return this list in flask. Teacher is a class and returns objects.
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers
This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.
I'm going crazy and I don't know what's going on. Does anyone know?
Thank you!!
EDIT:
I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.
@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})
Thanks for your help.
python list api flask
marked as duplicate by davidism
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
add a comment |
This question already has an answer here:
Return JSON response from Flask view
9 answers
I'm trying to return this list in flask. Teacher is a class and returns objects.
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers
This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.
I'm going crazy and I don't know what's going on. Does anyone know?
Thank you!!
EDIT:
I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.
@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})
Thanks for your help.
python list api flask
marked as duplicate by davidism
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
2
Have you tried checking the value inTeacher.objects? Also, you might need to return response in json. So, you will need to pass this list in json format.
– Sam
Jan 2 at 9:20
2
tryreturn json.dumps(teachers)
– AkshayNevrekar
Jan 2 at 9:21
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:55
add a comment |
This question already has an answer here:
Return JSON response from Flask view
9 answers
I'm trying to return this list in flask. Teacher is a class and returns objects.
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers
This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.
I'm going crazy and I don't know what's going on. Does anyone know?
Thank you!!
EDIT:
I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.
@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})
Thanks for your help.
python list api flask
This question already has an answer here:
Return JSON response from Flask view
9 answers
I'm trying to return this list in flask. Teacher is a class and returns objects.
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers
This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.
I'm going crazy and I don't know what's going on. Does anyone know?
Thank you!!
EDIT:
I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.
@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})
Thanks for your help.
This question already has an answer here:
Return JSON response from Flask view
9 answers
python list api flask
python list api flask
edited Jan 3 at 8:59
mollywind
asked Jan 2 at 9:13
mollywindmollywind
285
285
marked as duplicate by davidism
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
marked as duplicate by davidism
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
2
Have you tried checking the value inTeacher.objects? Also, you might need to return response in json. So, you will need to pass this list in json format.
– Sam
Jan 2 at 9:20
2
tryreturn json.dumps(teachers)
– AkshayNevrekar
Jan 2 at 9:21
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:55
add a comment |
2
Have you tried checking the value inTeacher.objects? Also, you might need to return response in json. So, you will need to pass this list in json format.
– Sam
Jan 2 at 9:20
2
tryreturn json.dumps(teachers)
– AkshayNevrekar
Jan 2 at 9:21
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:55
2
2
Have you tried checking the value in
Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.– Sam
Jan 2 at 9:20
Have you tried checking the value in
Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.– Sam
Jan 2 at 9:20
2
2
try
return json.dumps(teachers)– AkshayNevrekar
Jan 2 at 9:21
try
return json.dumps(teachers)– AkshayNevrekar
Jan 2 at 9:21
This doesn't work, it gives me back this error:
TypeError: <Teacher: Teacher object> is not JSON serializable– mollywind
Jan 2 at 14:55
This doesn't work, it gives me back this error:
TypeError: <Teacher: Teacher object> is not JSON serializable– mollywind
Jan 2 at 14:55
add a comment |
2 Answers
2
active
oldest
votes
You are returning a list, Flask expects a response to be returned.
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify({teachers: [teachers]})
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:58
add a comment |
You can't return a list directly from flask view.please try to jsonify
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify(teachers)
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You are returning a list, Flask expects a response to be returned.
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify({teachers: [teachers]})
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:58
add a comment |
You are returning a list, Flask expects a response to be returned.
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify({teachers: [teachers]})
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:58
add a comment |
You are returning a list, Flask expects a response to be returned.
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify({teachers: [teachers]})
You are returning a list, Flask expects a response to be returned.
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify({teachers: [teachers]})
answered Jan 2 at 9:27
Samaksh JainSamaksh Jain
35327
35327
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:58
add a comment |
This doesn't work, it gives me back this error:TypeError: <Teacher: Teacher object> is not JSON serializable
– mollywind
Jan 2 at 14:58
This doesn't work, it gives me back this error:
TypeError: <Teacher: Teacher object> is not JSON serializable– mollywind
Jan 2 at 14:58
This doesn't work, it gives me back this error:
TypeError: <Teacher: Teacher object> is not JSON serializable– mollywind
Jan 2 at 14:58
add a comment |
You can't return a list directly from flask view.please try to jsonify
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify(teachers)
add a comment |
You can't return a list directly from flask view.please try to jsonify
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify(teachers)
add a comment |
You can't return a list directly from flask view.please try to jsonify
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify(teachers)
You can't return a list directly from flask view.please try to jsonify
from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify(teachers)
answered Jan 2 at 9:25
shijinshijin
11818
11818
add a comment |
add a comment |
2
Have you tried checking the value in
Teacher.objects? Also, you might need to return response in json. So, you will need to pass this list in json format.– Sam
Jan 2 at 9:20
2
try
return json.dumps(teachers)– AkshayNevrekar
Jan 2 at 9:21
This doesn't work, it gives me back this error:
TypeError: <Teacher: Teacher object> is not JSON serializable– mollywind
Jan 2 at 14:55