gpt4 book ai didi

django - 如何确定 Django 模型表单中的字段是否已更改

转载 作者:行者123 更新时间:2023-12-04 09:00:55 24 4
gpt4 key购买 nike

我很惊讶这很难做到。但是我想出了这个,这似乎至少对我的简单案例有效。有人可以推荐更好的方法吗?

def field_changed(self, fieldname):
"""Tests if the value of the field changed from the original data"""
orig_value = self.fields[fieldname].initial or getattr(self.instance, field, None)
orig_value = getattr(orig_value, 'pk', orig_value)
if type(orig_value) is bool:
# because None and False can be interchangeable
return bool(self.data.get(fieldname)) != bool(orig_value)
else:
return unicode(self.data.get(fieldname)) != unicode(orig_value)

最佳答案

表单包含一个属性 changed_data ,它包含所有值已更改的字段的列表。

尝试:

'fieldname' in myforminstance.changed_data

关于django - 如何确定 Django 模型表单中的字段是否已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879101/

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