这是我的模型:
class Todo(db.Model):
__tablename__ = "todos"
id = db.Column(db.Integer, primary_key=True)
description = db.Column(db.String(), nullable=False)
class TodoSchema(ma.SQLAlchemySchema):
class Meta:
model = Todo
这是我的路线
@app.route("/data", methods=["GET"])
def data():
data = Todo.query.all()
print(len(data)) #28
print(data) #[<Todo 1>, <Todo 2>, <Todo 3>, <Todo 4>, <Todo 5>, <Todo 6>, <Todo 7>, <Todo 8>, <Todo 9>, <Todo 10>, <Todo 11>, <Todo 12>, <Todo 13>, <Todo 14>, <Todo 15>, <Todo 16>, <Todo 17>, <Todo 18>, <Todo 19>, <Todo 20>, <Todo 21>, <Todo 22>, <Todo 23>, <Todo 24>, <Todo 25>, <Todo 26>, <Todo 27>, <Todo 28>]
todo_schema = TodoSchema()
output = todo_schema.dump(data)
print(output) # {}
return output
当我做一个循环时,它看起来像这样:
for item in data:
print(item.description)
walk the dog
buy groceries
....
您可以print
在评论中看到它背后的语句的输出。所以我想要的是从我可以返回的数据对象中创建一个 JSON 对象。输出结果为空字典的原因是什么?有没有像这样的简单解决方案
data = Todo.query.all()
return jsonify({data})