On Thu, Mar 29, 2012 at 11:47 AM, Marc Aymerich <[email protected]> wrote: > On Thu, Mar 29, 2012 at 11:15 AM, Daniel Roseman <[email protected]> > wrote: >> On Thursday, 29 March 2012 00:06:29 UTC+1, Marc Aymerich wrote: >>> >>> Hi!, >>> I've overrided the save() method of one of my ModelForms and I'm >>> performing a delete of some related objects depending on some form >>> fields values. The thing is I'm getting differents behaviours >>> dependening on how the deletion is performed, consider: >>> >>> 1) self.instance.delete() >>> 2) MyModel.objects.get(pk=self.instance.pk).delete() >>> >>> I'm listening the post_delete of self.instance class, in there I >>> create a "dependency graph" of their related objects. The problem is >>> that at some point I'm retriveing self.instance like: >>> MyRelatedModel.self_instance_related_name and with the first (1) >>> delete method I can still access to self.instance but with the second >>> (2) delete method i'm getting a DoesNotExist. >>> >>> Why it's different? >>> >>> Thanks! >>> -- >>> Marc >> >> >> self.instance.delete() will delete the item from the database, but the >> instance itself will still exist in memory. As long as you don't save it, it >> will disappear when it goes out of scope, or you can explicitly call del() >> on it. >> -- > > Hi Daniel, > thanks for your answer! > mmm, but deleting like > MyModel.objects.get(pk=self.instance.pk).delete() self.instance will > continue exist too, isn't it?
I give it a second thought and I think that you were absolutely right Danniel. In (1) the post_save is called with a new object that no longer exists when post_save is called and with (2) is called with self.instance that still exists after post_save. Thanks and sorry for not catching it at the first time. thanks again :) -- Marc -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

