Here is a ticket about the memory issue:

It's hard for me to evaluate the other idea without looking at the code. If 
you want to open a ticket and provide a patch, go ahead.

On Friday, October 14, 2016 at 9:08:16 AM UTC-4, Marcin Nowak wrote:
> Hi all.
> Sometimes there is huge amount of related objects. In the effect there is 
> no possibility to delete a model because of http timeout error.
> Displaying objects to be deleted is quite nice feature, but just unusable 
> in cases like that. 
> Another thing is that nobody will read 74k related objects. Believe me. It 
> is better to display a summary in that case. 
> To display the summary, a related objects must be counted and this is time 
> consuming process, of course, but we can count them similar way to 
> Collector's fast deletion (using querysets instead of counting models one 
> by one).
> There is also other design flaw in ModelAdmin.delete_view() - related 
> objects are counted twice: one time for display, and second time after 
> confirming deletion (for request.method==POST). For the second case django 
> is checking only permissions and collected objects aren't used for anything 
> else. Until Django provides no row-level permissions checking those can be 
> done without instantiating all related objects again.
> I'd like to suggest:
>    - separation of permissions checking from related objects collector,
>    - adding configration option for ModelAdmin.delete_view (to display 
>    related objects, display summary, or finally display nothing).
> Thank you.
> Marcin.

You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
Visit this group at
To view this discussion on the web visit
For more options, visit

Reply via email to