У меня есть модель SQLAlchemy, которую я обновляю данными из файла XML. Я хочу получать уведомления о том, где новое значение отличается от старого.
Я попробовал простое:
if ModelInstance.Field <> NewValue:
print "Field has changed from", ModelInstance.Field, "to", NewValue
Но во многих случаях это не работает, потому что типы переменных различаются и также не будут работать, если я добавлю триггеры в модель, которые изменили значение при назначении.
Итак, я спрашиваю, как я могу сравнить значение поля сейчас со значением, которое будет иметь поле, если я назначу ему новое значение.
Чтобы уточнить после комментария от DrColossus - я мог бы прочитать «1.0» как строку из исходного файла, и модель может иметь столбец типа Integer, содержащий значение 1. Если вы сравните два, они не совпадают, но если бы вы присвоили «1,0» в столбце, значение получилось бы таким же, и я пытаюсь это обнаружить.