我正在嘗試使用 flask-sqlalchemy 創建一個 API,它接受employee_id數字并回傳它們的所有資訊。有些員工在兩個部門,所以我希望它回傳員工可能所屬的所有部門的 json。代碼運行,但是當我輸入員工 ID 時,它給了我一個空串列。
@app.route('/getrate/<int:employee_id>', methods=['GET', 'POST'])
def getrate(employee_id):
ratings=employee_ratings.filter_by(employee_id="employee_id").all()
allRatings=[]
for rating in ratings:
newResponse={
"id":rate.id,
"employee_id":rate.employee_id,
"name":rate.name,
"department":str(rate.department),
"phone":rate.phone,
"title":str(rate.title),
"score":rate.score,
"rank":str(rate.rank)
}
# print(type(newResponse))
allRatings.append(newResponse)
all = {
"all":allRatings
}
print(type(all))
return all
uj5u.com熱心網友回復:
你給 SQLAlchemy 一個字串,而不是真正的employee_id. 因此,您必須將評級更改為:
ratings = credit_scores.query.filter_by(employee_id=employee_id).all()
我看到的第二個問題是,您正在參考一個未分配的變數,即rate. 您必須更改rate為rating.
for rating in ratings:
newResponse = {
"id":rating.id,
"employee_id":rating.employee_id,
"name":rating.name,
"department":str(rating.department),
"phone":rating.phone,
"title":str(rating.title),
"score":rating.score,
"rank":str(rating.rank)
}
# print(type(newResponse))
allRatings.append(newResponse)
實際上我不確定,如果您的 DBMS 已將部門存盤為資料結構化串列。如果是這種情況,請更改str(rating.department)為list(rating.department),這對于 JSON 格式仍然有效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/525191.html
