更新bulk_update中的auto_now字段

问题描述

我正在使用Django 2.2,并且我有一个带有auto_Now modification_datetime字段的模型,我需要在bulk_update执行期间/之后仅针对受影响的真正注册注册表进行更新已更新。

是否可以通过执行auto_Now仅在受影响的记录上更新bulk_update日期时间模型字段?

解决方法

否,因为bulk_update()不会调用save()方法,也不会在实例上触发pre_savepost_save信号(通常只生成单个更新查询)。通常,也没有关于在Django中实际更新过的实例的回忆

此外,auto_now并未在update()/ bulk_update()上触发,因为它是由save()触发的

该字段仅在调用Model.save()时自动更新。的 以其他方式更新其他字段时,该字段未更新 例如QuerySet.update(),尽管您可以为 像这样的更新中的字段。

您可以检查哪些实例已手动更新并更新其时间戳或执行某种数据库触发