django update() auto_now 不更新問題

在django的model層給字段添加auto_now之后,再使用save()方法更新數(shù)據(jù)庫時會自動更新當(dāng)時的時間,

如果用django filter的update則是因為直接調(diào)用sql語句 不通過 model層, 所以不會自動更新帶有auto_now的字段,

官方對此的解釋為

What you consider a bug, others may consider a feature, e.g. usingupdate_fieldsto bypass updating fields withauto_now. In fact, I wouldn't expect auto_now fields to be updated if not present inupdate_fields.

這也是很有必要的, 有時我們只想對用戶直接進行的操作記錄更新的時間, 對系統(tǒng)自動的剛新則不予更新時間.

這時我們可以顯示的更新該字段 比如 update(xxx=yyy, update_time=datetime.datime.now())

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容