Flask сервер возвращает неверные данные - PullRequest
0 голосов
/ 09 марта 2020

Я создаю Flask бэкэнд. У меня есть этот маршрут, который должен вернуть идентификатор, который совпадает с адресом электронной почты

@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"
}

Но он возвращает целую кучу данных, которые неверны , Он должен вернуть один идентификатор из базы данных, который назначен пользователю, который хранит электронную почту. В чем может быть причина? Я использую Зефир и SQLAlchemy ORM.

1 Ответ

0 голосов
/ 09 марта 2020

Проблема, вероятно, в этой строке:

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

Похоже, у вас проверка на равенство неверна. Users.estudent_email ссылается на все поле базы данных, а email является именованным аргументом в filter_by, , а не email, который вы определили в предыдущей строке.

Я могу не тестируй но я думаю ты хочешь:

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

или

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

По поводу сериализации и result = users_schema.dump(id) я понятия не имею потому что не хватает контекста, чтобы быть уверенным, как заставить это работать.

...