gpt4 book ai didi

django - 收集django保存模型记录时已更新的字段列表

转载 作者:行者123 更新时间:2023-12-02 12:32:45 25 4
gpt4 key购买 nike

我正在创建一个“新增内容”部分,其中列出了最后一天的所有数据库更改。最近的一个suggestion ,我想使用 post_save 或 pre_save 来捕获 Django 保存模型记录时已更改的字段。我会将这些数据保存在另一个表中(带时间戳)。我知道这是可能的,因为人们可以观察管理应用程序中的行为 - 它识别哪些字段已被更改)。

据我所知,管理应用程序使用 forms.changed_data。但使用 post_save 或 pre_save 不会收到任何表单信息。

有没有一种有效的方法来确定哪些字段已更改?我是否必须将模型中的每个字段与其当前值(pre_save)进行比较才能确定此列表?任何帮助(带有代码示例)将不胜感激。

最佳答案

有一个答案here 。基本上,您可以在初始化对象时缓存字段,然后在 post_save 信号中,您可以将每个字段与缓存的值进行比较......或者编写一个进行比较的方法,并且仅返回字段已修改。

关于django - 收集django保存模型记录时已更新的字段列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4039296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com