在Django中实现每个模型的表修改时间?

5 投票
1 回答
637 浏览
提问于 2025-04-16 02:13

我有一个Django应用,它会编辑一个数据库表,另一个应用会定期检查这个表,并用它来更新下游系统。为了减少在数据库没有变化时的处理工作,我想为一个模型使用一个全局的修改时间,这个时间会在每次创建、删除或修改一行数据时更新。请问我该如何在Django的ORM中实现这个功能?

1 个回答

2

Django并不会自动给你提供表格(模型)的“最后修改”日期,也不会自己管理这个日期。你需要自己来实现这个功能,但其实并不复杂。

最简单的方法就是在你的模型中捕捉必要的信号,具体来说,就是实现 post_save()post_delete() 这两个信号(可以理解为钩子),并维护一个静态的日期字段,用来表示你想要的“最后修改”日期。

撰写回答