检查Django中哪些字段已更改

时间:2014-11-14 12:19:33

标签: django django-models django-forms django-views django-queryset

我有一个包含许多字段的模型。我只需要在更改两个特定字段时运行代码。我知道我可以修改我的模型的save()方法,但我不知道如何检查ModelForm中哪些字段已更改。

3 个答案:

答案 0 :(得分:0)

很抱歉,因为我不能给你任何代码片段,因为我在Django不是很有经验,但是当我通过一个控制器类听完模型并听到变化来完成更改时,我会去获取信号。希望我可能会帮助一点。 祝你好运

答案 1 :(得分:0)

Django-model-utils有一个名为FieldTracker的东西就是这样做的。只需在模型中实例化它,并告诉它跟踪您正在寻找的特定字段。然后,您可以使用has_changed方法测试自上次保存以来给定字段是否已更改。

此软件包还有其他一些很棒的实用工具,我建议您浏览docs

答案 2 :(得分:0)

您可以尝试django-dirtyfields

相关问题