use clean method and use self.instance.fieldname to know previous value and
then compare with the new value.


On Fri, Jul 24, 2009 at 10:50 PM, Tim Chase
<django.us...@tim.thechases.com>wrote:

>
> >> How can I tell which model fields have been modified (this is, the
> >> difference between the Model instance and the data originally retrieved
> >> from the database) from inside the model's save() method?
> >
> > You can always retrieve the model by it's primary key from the db, and
> > then compare self to it.  Something like:
> >
> > def save(stuff_and_junk):
> >     existing_instance = self.__class__.objects.get(id=self.id)
> >     if existing_instance.attribute != self.attribute:
> >         print 'Holy Crap!'
> >     super(self.__class__, self).save(stuff_and_junk)
>
> Remembering, of course, that get() can throw an exception if
> you're creating a new object...
>
> -tim
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to