猿问

烧瓶后端返回无效数据

我正在构建一个 Flask 后端。我有此路由,应返回与电子邮件匹配的 ID


@app.route('/login', methods=['POST'])

def login():

    email = request.json['data']

    id = session.query(Users).filter_by(email=Users.estudent_email)

    result = users_schema.dump(id)

    return jsonify(result)

我目前正在向它发送此数据


{

    "data": "name.lastname@email.com"

}

但它返回了一大堆不正确的数据。它应从数据库中返回分配给保存电子邮件的用户的单个 ID。可能的原因是什么?我正在使用Marshmallow和SQLAlchemy ORM。


眼眸繁星
浏览 68回答 1
1回答

人到中年有点甜

问题可能出在以下行:id = session.query(Users).filter_by(email=Users.estudent_email)你似乎以错误的方式检查了平等。 引用数据库的整个字段,并且是 中的命名参数,而不是您在上一行中定义的参数。Users.estudent_emailemailfilter_byemail我无法测试,但我认为你想要:id = session.query(Users).filter(Users.estudent_email==email)或id = session.query(Users).filter_by(email=email)至于序列化,和 ,我不知道,因为没有足够的上下文来确定如何使它工作。result = users_schema.dump(id)
随时随地看视频慕课网APP

相关分类

Go
我要回答