PackageRecord.query.filter_by(id=package_id).update(json_data)
?這段代碼的問題在于它不能正確地更新指定的記錄。這是因?yàn)?update()
?方法是 SQLAlchemy 提供的一種批量更新的方法,他通過接收一個(gè)字典對(duì)象來更新記錄。但是在你的代碼中,json_data
?應(yīng)該是一個(gè) JSON 字符串,而不是一個(gè)字典對(duì)象。
為了解決這個(gè)問題,你可以嘗試通過手動(dòng)修改對(duì)象屬性來實(shí)現(xiàn)單個(gè)記錄的更新,或者使用 SQLAlchemy 的?session
?對(duì)象來更新記錄。下面是兩種解決方案的示例代碼:文章來源:http://www.zghlxwxcb.cn/news/detail-613653.html
- 手動(dòng)修改對(duì)象屬性進(jìn)行更新:
record = PackageRecord.query.filter_by(id=package_id).first()
if record:
record.attribute1 = new_value1
record.attribute2 = new_value2
# ...
db.session.commit()
- 使用?
session
?對(duì)象進(jìn)行更新:
record = db.session.query(PackageRecord).filter_by(id=package_id).first()
if record:
db.session.query(PackageRecord).filter_by(id=package_id).update(json.loads(json_data))
db.session.commit()
在這兩種解決方案中,PackageRecord
?是你的數(shù)據(jù)模型類,db
?是你的數(shù)據(jù)庫會(huì)話對(duì)象,package_id
?是要更新的記錄的 ID,new_value1
、new_value2
?等是要更新的屬性的新值。文章來源地址http://www.zghlxwxcb.cn/news/detail-613653.html
到了這里,關(guān)于【python】flask查詢更新指定的某一條記錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!