【SQL Alchemy】AttributeError: '...' object has no attribute 'translate'错误的解决
生活随笔
收集整理的這篇文章主要介紹了
【SQL Alchemy】AttributeError: '...' object has no attribute 'translate'错误的解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
bug情境描述
經過查找,SQL Alchemy沒有自帶ON DUPLICATE KEY UPDATE功能,所以打算手寫一個。于是產生了下面的(錯誤)腦洞…
先按照想要UNIQUE的列查出結果,然后判斷:
- 如果查詢有結果,就用新Object的所有列去替換原有Object的所有列
- 如果查詢無結果,就直接db.session.add這個Object
以上方式沒有考慮到新的Object可能有些屬性(列)沒有值(大概是None?或者Null?),直接賦值給舊的Object的話,可能在存儲的時候,類型會有問題。所以直接替換每一個屬性可能不是好方法,或者需要判斷一下是否為空,再給新的Object賦值才可以。
想了一個替代方案:
判斷如果有查詢結果的話,直接刪除原有的Object,然后add整個新Object:
總結
以上是生活随笔為你收集整理的【SQL Alchemy】AttributeError: '...' object has no attribute 'translate'错误的解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】过滤数组中的空值(空字符
- 下一篇: CentOS7升级Python2.7.5