Просмотр исходного кода

Fixes #20660: Optimize loading of custom script modules from remote storage (#20783)

Jeremy Stretch 3 месяцев назад
Родитель
Сommit
e787a71c1d
2 измененных файлов с 2 добавлено и 3 удалено
  1. 1 2
      netbox/extras/models/mixins.py
  2. 1 1
      netbox/extras/models/scripts.py

+ 1 - 2
netbox/extras/models/mixins.py

@@ -30,8 +30,7 @@ class CustomStoragesLoader(importlib.abc.Loader):
         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__)
 

+ 1 - 1
netbox/extras/models/scripts.py

@@ -126,7 +126,7 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile):
         ordered.extend(script_objects.values())
         return ordered
 
-    @property
+    @cached_property
     def module_scripts(self):
 
         def _get_name(cls):