介绍
有一些场景需要我们即做添加操作有要做修改操作,我们就可以来使用 merge 来操作这里,一下代码就是查看 key 值是否一致,如果一致则进行修改,如果不一致则进行添加。
使用
def loophole_proof(proof, company_name, pg_con=None): try: pg_con = pg_con if pg_con else g.pg_db filesStore = pg_con.query(FilesStore).filter( and_(FilesStore.company_name == company_name, FilesStore.files_path == "1")).first() if not filesStore: # 如果数据库不存在, 重新new一个新对象 filesStore = FilesStore() filesStore.company_name = company_name filesStore.files_path = "1" filesStore.files_name = proof pg_con.merge(filesStore) pg_con.commit() return True except Exception, e: logging.error('class path: %s;function name: %s;error message:%s' % ( __name__, sys._getframe().f_code.co_name, e.message), exc_info=True) return False