文章内容
2018/12/17 21:47:36,作 者: 黄兵
SQLAlchemy insert 和 update
在SQLAlchemy,update和insert的写法很像,但是又有区别,下面看看代码:
insert操作代码:
msg_count = db.session.query(sqlalchemy.func.count(SMS_Receive.id))\
.filter(and_(SMS_Receive.IsShow == True, SMS_Receive.PhoneNumber_id == number))\
.scalar()
sms_count_info = SMSCount(PhoneNumber_id=number, SMS_Count=msg_count)
db.session.add(sms_count_info)
db.session.commit()之后是update代码:
get_sms_count = SMSCount.query.filter_by(PhoneNumber_id=number).first() get_sms_count.SMS_Count+=1 get_sms_count.PhoneNumber_id=number db.session.commit()
可以看到在insert里面先加入到session里面才提交,而insert则是先查询出来之后更新才提交。
看看stack overflow上面的update一些回答写法:
admin = User.query.filter_by(username='admin').first() admin.email = '[email protected]' db.session.commit() user = User.query.get(5) user.name = 'New Name' db.session.commit()
参考资料:Flask-SQLalchemy update a row's information
黄兵个人博客原创。
评论列表