@@ -778,7 +778,7 @@ def delete_files_or_folders(self, request, files_queryset, folders_queryset):
778778 n = files_queryset .count () + folders_queryset .count ()
779779 if n :
780780 # delete all explicitly selected files
781- if DJANGO_VERSION >= (5 ,1 ):
781+ if DJANGO_VERSION >= (5 , 1 ):
782782 self .log_deletions (request , files_queryset )
783783 for f in files_queryset :
784784 f .delete ()
@@ -794,13 +794,24 @@ def delete_files_or_folders(self, request, files_queryset, folders_queryset):
794794 for folder in folders_queryset :
795795 folder_ids .add (folder .id )
796796 folder_ids .update (folder .get_descendants_ids ())
797- for f in File .objects .filter (folder__in = folder_ids ):
798- self .log_deletion (request , f , force_str (f ))
799- f .delete ()
797+ if DJANGO_VERSION >= (5 , 1 ):
798+ qs = File .objects .filter (folder__in = folder_ids )
799+ self .log_deletions (request , qs )
800+ for f in qs :
801+ f .delete ()
802+ else :
803+ for f in File .objects .filter (folder__in = folder_ids ):
804+ self .log_deletion (request , f , force_str (f ))
805+ f .delete ()
800806 # delete all folders
801- for f in folders_queryset :
802- self .log_deletion (request , f , force_str (f ))
803- f .delete ()
807+ if DJANGO_VERSION >= (5 , 1 ):
808+ self .log_deletions (request , files_queryset )
809+ for f in folders_queryset :
810+ f .delete ()
811+ else :
812+ for f in folders_queryset :
813+ self .log_deletion (request , f , force_str (f ))
814+ f .delete ()
804815 self .message_user (request , _ ("Successfully deleted %(count)d files and/or folders." ) % {"count" : n , })
805816 # Return None to display the change list page again.
806817 return None
0 commit comments