I have a database model that is being updated based on changes in remote data (via an HTML scraper).
I want to maintain a field called changed
- a times
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.
http://code.activestate.com/pypm/django-dirtyfields/
Tracks dirty/changed fields on a django model instance.
If you save your instance through a form, you can check form.has_changed()
.
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.)
This library has tracks FK lookups.
https://github.com/mmilkin/django_dirty_bits