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
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).
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 email@example.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit
For more options, visit https://groups.google.com/d/optout.