【问题标题】:Check which fields are changed in Django检查 Django 中更改了哪些字段
【发布时间】:2015-01-11 20:07:27
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    你可以试试django-dirtyfields

    【讨论】:

      【解决方案2】:

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

      这个包还有一些其他很棒的实用程序,我真的建议您查看docs

      【讨论】:

        【解决方案3】:

        很抱歉,因为我在 Django 方面不是很有经验,所以我不能给你任何代码 sn-p,但是当通过监听模型和监听变化的控制器类完成更改时,我会去获取信号。希望我能有所帮助。 祝你好运

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-01-21
          • 2013-03-16
          • 1970-01-01
          • 2016-01-10
          • 2019-02-07
          • 2013-11-08
          • 2011-01-24
          相关资源
          最近更新 更多