[英]SQLAlchemy Marshmallow returns empty JSON Flask
我試圖返回所有用戶信息,但每次我運行請求時,它都會返回一個空的 JSON object
我的 model 和模式:
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
db = SQLAlchemy()
ma = Marshmallow()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
email = db.Column(db.String(100), unique=True)
password = db.Column(db.String(100), unique=True)
def __init__(self, name, email, password):
self.name = name
self.email = email
self.password = password
class UserSchema(ma.Schema):
class meta:
fields = ('id', 'name', 'email', 'password')
user_schema = UserSchema()
GET function:
@auth.route('/getuser/<id>', methods=['GET'])
def get_user(id):
password = request.json['password']
user = User.query.get(id)
if not user or not bcrypt.checkpw(password.encode('utf-8'), user.password.encode('utf-8')):
return jsonify({'msg': 'Wrong email or password'})
result = user_schema.dump(user)
return result
將用戶添加到數據庫后,密碼將轉換為純字符串
為了返回特定用戶的所有詳細信息,您可以使用以下代碼:
def get_user(id):
user = User.query.filter_by(id=id).first()
if user is not None:
response = jsonify({'result':user.to_json()})
else
response = jsonify({'message': 'cannot find user'}), 404
return response
分享的代碼中有獲取JSON格式用戶詳情的細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.