django - Cascading Delete w/ Custom Model Delete Method -


i have custom delete method on model make sure called correctly when calling delete on queryset using: custom delete method on queryset.

this not seem work when django performs cascading delete. in case, orm calls _raw_delete on regular queryset thereby bypassing custom delete method.

how prevent happening?

the issue seems caused because uses _base_manager rather _default_manager:

def related_objects(self, related, objs):   return related.related_model._base_manager.using(self.using).filter(       **{"%s__in" % related.field.name: objs}   ) 

it looks need add queryset:

 def _raw_delete(self, using):         self.delete()     _raw_delete.alters_data = true 

and set use_for_related_fields = true on manager.


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -