Login

Check If a Field Has Changed

Author:
zmsmith
Posted:
May 26, 2010
Language:
Python
Version:
1.2
Score:
3 (after 3 ratings)

Used to check if a field of an object has changed.

This is probably most useful in the save method.

1
2
3
4
5
def has_changed(instance, field):
    if not instance.pk:
        return False
    old_value = instance.__class__._default_manager.filter(pk=instance.pk).values(field).get()[field]
    return not getattr(instance, field) == old_value

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 2 months ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 2 months, 1 week ago
  3. Serializer factory with Django Rest Framework by julio 9 months, 1 week ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 9 months, 4 weeks ago
  5. Help text hyperlinks by sa2812 10 months, 3 weeks ago

Comments

albertmenglongli (on November 15, 2017):

Seems that this snippet cannot handle Field like MultiSelectField well.

#

Please login first before commenting.