文章内容
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 = 'my_new_email@example.com' db.session.commit() user = User.query.get(5) user.name = 'New Name' db.session.commit()
参考资料:Flask-SQLalchemy update a row's information
黄兵个人博客原创。
评论列表