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

Merge pull request #8925 from kkthxbye-code/fast_script_list

Fix #8924 - Speed up rendering of the script list
Jeremy Stretch 3 лет назад
Родитель
Сommit
b6587c00ce
2 измененных файлов с 6 добавлено и 2 удалено
  1. 5 1
      netbox/extras/scripts.py
  2. 1 1
      netbox/templates/extras/script_list.html

+ 5 - 1
netbox/extras/scripts.py

@@ -259,6 +259,10 @@ class BaseScript:
     Base model for custom scripts. User classes should inherit from this model if they want to extend Script
     functionality for use in other subclasses.
     """
+
+    # Prevent django from instantiating the class on all accesses
+    do_not_call_in_templates = True
+
     class Meta:
         pass
 
@@ -280,7 +284,7 @@ class BaseScript:
 
     @classproperty
     def name(self):
-        return getattr(self.Meta, 'name', self.__class__.__name__)
+        return getattr(self.Meta, 'name', self.__name__)
 
     @classproperty
     def full_name(self):

+ 1 - 1
netbox/templates/extras/script_list.html

@@ -34,7 +34,7 @@
                 {% for class_name, script in module_scripts.items %}
                   <tr>
                     <td>
-                      <a href="{% url 'extras:script' module=script.module name=class_name %}" name="script.{{ class_name }}">{{ script }}</a>
+                      <a href="{% url 'extras:script' module=script.module name=class_name %}" name="script.{{ class_name }}">{{ script.name }}</a>
                     </td>
                     <td>
                       {% include 'extras/inc/job_label.html' with result=script.result %}