我有一个模型对象的两个实例,如果它们在一个字段中不同,我想做一些事情,恰好是一个 DateField ,但是,当我评估它们是否不同时,它们总是即使日期相同。
这是执行比较的代码:
for field in fields:
if 'name' in field.__dict__:
field_name = field.__dict__['name']
if field_name in instance.__dict__:
new_value = instance.__dict__[field_name]
old_value = old_instance.__dict__[field_name]
if new_value != old_value: # This line always avaluates true when fields are DateField
print("{} - {}".format(old_value, new_value))
if first:
first = None
else:
detail = detail + '\n'
detail = detail + field_name + ' = ' + str(old_value) + ' --> ' + str(new_value)
我正在打印new_value
和old_value
进行调试,我发现日期字段的求值总是不同的,即使它们具有相同的日期:
我不知道是否有一种比较日期值的特定方法。