问题描述
我正在使用Django 2.2,并且我有一个带有auto_Now
modification_datetime
字段的模型,我需要在bulk_update
执行期间/之后仅针对受影响的真正注册的注册表进行更新已更新。
是否可以通过执行auto_Now
仅在受影响的记录上更新bulk_update
日期时间模型字段?
解决方法
否,因为bulk_update()
不会调用save()
方法,也不会在实例上触发pre_save
和post_save
信号(通常只生成单个更新查询)。通常,也没有关于在Django中实际更新过的实例的回忆
此外,auto_now
并未在update()/ bulk_update()上触发,因为它是由save()
触发的
该字段仅在调用Model.save()时自动更新。的 以其他方式更新其他字段时,该字段未更新 例如QuerySet.update(),尽管您可以为 像这样的更新中的字段。
您可以检查哪些实例已手动更新并更新其时间戳或执行某种数据库触发