Thursday, March 29, 2012

Re: strange problem deleting objects

On Thu, Mar 29, 2012 at 11:15 AM, Daniel Roseman <daniel@roseman.org.uk> 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?

--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment