嗨,伙计们,我正试图将我的查询转换为对象,但我得到这个错误"'User'对象不可迭代">
以下是我的代码。
@app.route('/users')
def users():
rows = db.session.query(User).first();
for row in rows:
data.append(list(row))# data.append([x for x in row])
return jsonify(data)
查询
的代码rows = db.session.query(User).first();
选择找到的第一个对象并返回它,否则按照docs
返回None
。如果您要查询多个行,请按照docs
使用.all()
函数。data = []
rows = db.session.query(User).all();
for row in rows:
data.append(row)
return jsonify(data)
这将获取所有用户并将其添加到列表
我可以使用flask mashmallow
ma = Marshmallow(app)
enter code here
class User(db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(200),nullable=False)
email = db.Column(db.String(200),nullable=False)
password = db.Column(db.String(200),nullable=False)
class UserSchema(ma.Schema):
class Meta:
# Fields to expose
fields = ("email", "password","name")
# Smart hyperlinking
user_schema = UserSchema()
users_schema = UserSchema(many=True)
@app.route("/users/")
def users():
#row= db.session.query(User)
all_users = User.query.all()
results = users_schema.dump(all_users)
return jsonify(results)
@app.route("/users/<id>")
def user_detail(id):
user = User.query.get(id)
results = user_schema.dump(user)
return jsonify(results)