Thanks. So, in onPreSave, you use kwargs['instance'], assuming it's the
instance before saving (which it is, not just in the "current" state). So
kwargs['instance'] in both handlers have the same state. If you want to get
the current state (the old state, so to speak), you should to something like

sender.objects.get(id=kwargs['instance'].id)


This would get you the current state of the that instance.

Hope this is clear and helps.

Karl Sutt


On Sat, May 12, 2012 at 12:00 PM, Alireza Savand
<alireza.sav...@gmail.com>wrote:

> Okay
> here the paste
> http://dpaste.de/Oa9cM/
> And the Model is just *Poll model* from the tutorial on the django
> official document.
>
>
> On Sat, May 12, 2012 at 2:44 PM, Karl Sutt <k...@sutt.ee> wrote:
>
>> Could you provide some code (paste it to dpaste.org for example)?
>> Specifically, it would be useful to see your model definition and signal
>> connectors etc.
>>
>> Karl Sutt
>>
>>
>>
>> On Sat, May 12, 2012 at 11:38 AM, Alireza Savand <
>> alireza.sav...@gmail.com> wrote:
>>
>>> Thanks for your answer Karl
>>> Actually yes, i want to do some versioning on model instance, but the
>>> problem is that the state of the model instance in pre_save is same as at
>>> the post_save.
>>>
>>> On Sat, May 12, 2012 at 2:32 PM, Karl Sutt <k...@sutt.ee> wrote:
>>>
>>>> Regarding pre_save signal, it is useful for doing something with the
>>>> "old" instance. Consider a use case where you might want to "archive" all
>>>> changes to, say, the user's profile. Every time a user makes a change to
>>>> their profile, you want to save the current state of the profile to another
>>>> table, or another database, and then save the new model (which overwrites
>>>> the current state and becomes the new current state). This sort of
>>>> mechanism is useful for versioning your model instances. The pre_save
>>>> signal allows you to create a hook that does precisely that. That is just
>>>> one of the use cases, but I'm sure you can think of others.
>>>>
>>>> Karl Sutt
>>>>
>>>>
>>>>
>>>> On Sat, May 12, 2012 at 10:46 AM, Alireza Savand <
>>>> alireza.sav...@gmail.com> wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> What is the different between pre_save signal and post_save singal.
>>>>> I know post_save will emited after model instance saved, and pre_save
>>>>> is before the saving the instance[?]
>>>>> but what it the point of pre_save when we cannot access the object
>>>>> data before the data changes.
>>>>> I mean user try to change the model content, like body of a post in a
>>>>> blog. using pre_save signal would be reasonable if i can access the post's
>>>>> body before the changes or in other word before the actual save() happens.
>>>>> If i can't access to data before save() happends, So what is the point
>>>>> of pre_save ?
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Django users" group.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msg/django-users/-/NLEgGtpvQ4cJ.
>>>>> 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.
>>>>>
>>>>
>>>>  --
>>>> 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.
>>>>
>>>
>>>
>>>
>>> --
>>> + <https://github.com/Alir3z4/>+ <https://sourceforge.net/users/alir3z4>
>>> + 
>>> <https://sourceforge.net/projects/yodownet/>+<https://www.transifex.net/accounts/profile/Alir3z4/>
>>> + <https://gist.github.com/Alir3z4>+ 
>>> <http://pastebin.com/u/Alir3z4>+<https://www.ohloh.net/accounts/Alir3z4>
>>>
>>>  --
>>> 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.
>>>
>>
>>  --
>> 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.
>>
>
>
>
> --
> + <https://github.com/Alir3z4/>+ 
> <https://sourceforge.net/users/alir3z4>+<https://sourceforge.net/projects/yodownet/>
> + 
> <https://www.transifex.net/accounts/profile/Alir3z4/>+<https://gist.github.com/Alir3z4>
> + <http://pastebin.com/u/Alir3z4>+<https://www.ohloh.net/accounts/Alir3z4>
>
>  --
> 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.
>

-- 
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