self.__important_fields = ['target_type', 'target_id', 'target_object',
    'number', 'chain', 'expiration_date']
for field in self.__important_fields:
    setattr(self, '__original_%s' % field, getattr(self, field))

def has_changed(self):
    for field in self.__important_fields:
        orig = '__original_%s' % field
if getattr(self, orig) != getattr(self, field):
    return True
return False
django - сравнение старого и нового значения поля перед сохранением