在 Python 燒瓶中,如果我想更新 Postgres 資料庫表中的資料,下面的 put 方法有效。在下面的代碼中,使用“if 條件”我正在檢查和更新三列的值,即 fname、lname、地址。
我的問題是,如果我想更新更多列,例如 30 到 40 列,我應該撰寫多個個人“if 陳述句”還是有任何優化的方法來更新更多列?
class TodoId(Resource):
def put(self,email):
data = parser.parse_args()
todo = Model.query.get(email)
if 'fname' in data.keys():
todo.fname = data.get('fname')
if 'lname' in data.keys():
todo.lname = data.get('lname')
if 'address' in data.keys():
todo.address = data.get('address')
db.session.commit()
uj5u.com熱心網友回復:
您可以撰寫一個通用的更新方法:
class TodoId(Resource):
def put(self,email):
data = parser.parse_args()
todo = Model.query.get(email)
for key, value in data.items():
if hasattr(todo, key) and value is not None:
setattr(todo, key, value)
db.session.commit()
uj5u.com熱心網友回復:
您可以使用“更新”方法并將資料物件傳遞給它。
class TodoId(Resource):
def put(self,email):
data = parser.parse_args()
Model.query.get(email).update(data)
db.session.commit()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/420239.html
標籤:
下一篇:在Flask功能上找不到應用程式
