【发布时间】:2011-05-01 15:46:57
【问题描述】:
我正在创建一个“新增功能”部分,其中列出了最后一天的所有数据库更改。在最近的suggestion 中,我想使用 post_save 或 pre_save 来捕获 Django 保存模型记录时已更改的字段。我会将这些数据保存在另一个表中(带有时间戳)。我知道这是可能的,因为可以观察管理应用程序中的行为 - 它识别哪些字段已被更改)。
据我所知,管理应用程序使用了 forms.changed_data。但是使用 post_save 或 pre_save 不会收到任何表单信息。
有没有一种有效的方法来确定哪些字段已更改?我是否必须将模型中的每个字段与其当前值(pre_save)进行比较才能确定此列表?任何帮助(带有代码示例)将不胜感激。
【问题讨论】:
标签: django