[Django]-Detect if a model has changed before calling save in Django

13👍

http://code.activestate.com/pypm/django-dirtyfields/

Tracks dirty/changed fields on a django model instance.

34👍

If you save your instance through a form, you can check form.has_changed().

👤Don

3👍

Sounds to me like what you want is Signals: http://docs.djangoproject.com/en/1.2/topics/signals/

You could use a post_save signal to update a related field in another model to store the previous value. Then on the next go-round you’d have something to compare.

3👍

You might try computing a checksum of the record values when you save them. Then when you read it later, recompute the checksum and see if it has changed. Perhaps the crc32 function in the Python zlib standard module. (I’m not sure what kind of performance this would have. So you may want to investigate that.)

0👍

This library has tracks FK lookups.

https://github.com/mmilkin/django_dirty_bits

Leave a comment