簡體   English   中英

SQLAlchemy 棉花糖返回空 JSON Flask

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM