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 django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/a38bd871-459d-4783-a435-c42de02310d9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to