8080
8181from pulp_ansible .app .tasks .deletion import delete_collection_version , delete_collection
8282
83- from pulp_ansible .app .utils import filter_content_for_repo_version , set_collection_deferred_fields
83+ from pulp_ansible .app .utils import filter_content_for_repo_version
8484
8585DOMAIN_ENABLED = settings .DOMAIN_ENABLED
8686
@@ -446,15 +446,9 @@ def destroy(self, request: Request, *args, **kwargs) -> Response:
446446 status = status .HTTP_400_BAD_REQUEST ,
447447 )
448448
449- # Defer loading large JSON fields to prevent memory exhaustion
450- set_collection_deferred_fields (
451- ["contents" , "docs_blob" , "manifest" , "files" , "dependencies" ]
452- )
453-
454449 repositories = set ()
455- for version in collection .versions .all ():
456- for repo in version .repositories .all ():
457- repositories .add (repo )
450+ for version in collection .versions .only ("pk" ):
451+ repositories .update (version .repositories .values_list ("pk" , flat = True ))
458452
459453 async_result = dispatch (
460454 delete_collection ,
@@ -469,9 +463,9 @@ def get_collection_dependents(parent):
469463 """Given a parent collection, return a list of collection versions that depend on it."""
470464 key = f"{ parent .namespace } .{ parent .name } "
471465 return list (
472- CollectionVersion .objects .exclude (collection = parent ). filter (
473- dependencies__has_key = key , pulp_domain = get_domain ()
474- )
466+ CollectionVersion .objects .exclude (collection = parent )
467+ . filter ( dependencies__has_key = key , pulp_domain = get_domain () )
468+ . only ( "namespace" , "name" , "version" )
475469 )
476470
477471
0 commit comments