diff --git a/netbox/extras/migrations/0091_create_managedfiles.py b/netbox/extras/migrations/0091_create_managedfiles.py index 79a80821f..c37ef7022 100644 --- a/netbox/extras/migrations/0091_create_managedfiles.py +++ b/netbox/extras/migrations/0091_create_managedfiles.py @@ -50,6 +50,7 @@ class Migration(migrations.Migration): ], options={ 'proxy': True, + 'ordering': ('file_root', 'file_path'), 'indexes': [], 'constraints': [], }, @@ -61,6 +62,7 @@ class Migration(migrations.Migration): ], options={ 'proxy': True, + 'ordering': ('file_root', 'file_path'), 'indexes': [], 'constraints': [], }, diff --git a/netbox/extras/models/reports.py b/netbox/extras/models/reports.py index d28a3aec6..f3fa1e888 100644 --- a/netbox/extras/models/reports.py +++ b/netbox/extras/models/reports.py @@ -43,6 +43,7 @@ class ReportModule(PythonModuleMixin, JobsMixin, ManagedFile): class Meta: proxy = True + ordering = ('file_root', 'file_path') verbose_name = _('report module') verbose_name_plural = _('report modules') diff --git a/netbox/extras/models/scripts.py b/netbox/extras/models/scripts.py index 0a0d6541b..f0a0171d6 100644 --- a/netbox/extras/models/scripts.py +++ b/netbox/extras/models/scripts.py @@ -51,6 +51,7 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile): class Meta: proxy = True + ordering = ('file_root', 'file_path') verbose_name = _('script module') verbose_name_plural = _('script modules') diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 6938ccf41..2e3bd54f0 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -1042,7 +1042,7 @@ class ReportListView(ContentTypePermissionRequiredMixin, View): return 'extras.view_report' def get(self, request): - report_modules = ReportModule.objects.restrict(request.user) + report_modules = ReportModule.objects.restrict(request.user).prefetch_related('data_source', 'data_file') return render(request, 'extras/report_list.html', { 'model': ReportModule, @@ -1217,7 +1217,7 @@ class ScriptListView(ContentTypePermissionRequiredMixin, View): return 'extras.view_script' def get(self, request): - script_modules = ScriptModule.objects.restrict(request.user) + script_modules = ScriptModule.objects.restrict(request.user).prefetch_related('data_source', 'data_file') return render(request, 'extras/script_list.html', { 'model': ScriptModule,