From 54bc23939b894936f1ecee4c65211ee7faab5158 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 10 Nov 2025 15:12:03 -0500 Subject: [PATCH] Fixes #20660: Optimize loading of custom script modules from remote storage --- netbox/extras/models/mixins.py | 3 +-- netbox/extras/models/scripts.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/netbox/extras/models/mixins.py b/netbox/extras/models/mixins.py index d0422098244..14540ffcf53 100644 --- a/netbox/extras/models/mixins.py +++ b/netbox/extras/models/mixins.py @@ -30,8 +30,7 @@ def create_module(self, spec): return None # Use default module creation def exec_module(self, module): - storage = storages.create_storage(storages.backends["scripts"]) - with storage.open(self.filename, 'rb') as f: + with storages["scripts"].open(self.filename, 'rb') as f: code = f.read() exec(code, module.__dict__) diff --git a/netbox/extras/models/scripts.py b/netbox/extras/models/scripts.py index 91732f8f05a..944492d7695 100644 --- a/netbox/extras/models/scripts.py +++ b/netbox/extras/models/scripts.py @@ -126,7 +126,7 @@ def ordered_scripts(self): ordered.extend(script_objects.values()) return ordered - @property + @cached_property def module_scripts(self): def _get_name(cls):