在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())