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

#11732: Exclude _init_time from import form fields list

Jeremy Stretch 2 лет назад
Родитель
Сommit
7b998cfeb4
1 измененных файлов с 10 добавлено и 3 удалено
  1. 10 3
      netbox/netbox/views/generic/bulk_views.py

+ 10 - 3
netbox/netbox/views/generic/bulk_views.py

@@ -8,7 +8,7 @@ from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist, Valida
 from django.db import transaction, IntegrityError
 from django.db.models import ManyToManyField, ProtectedError
 from django.db.models.fields.reverse_related import ManyToManyRel
-from django.forms import ModelMultipleChoiceField, MultipleHiddenInput
+from django.forms import HiddenInput, ModelMultipleChoiceField, MultipleHiddenInput
 from django.http import HttpResponse
 from django.shortcuts import get_object_or_404, redirect, render
 from django.urls import reverse
@@ -313,6 +313,13 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
         """
         return data
 
+    def _get_form_fields(self):
+        # Exclude any fields which use a HiddenInput widget
+        return {
+            name: field for name, field in self.model_form().fields.items()
+            if type(field.widget) is not HiddenInput
+        }
+
     def _save_object(self, model_form, request):
 
         # Save the primary object
@@ -430,7 +437,7 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
         return render(request, self.template_name, {
             'model': self.model_form._meta.model,
             'form': form,
-            'fields': self.model_form().fields,
+            'fields': self._get_form_fields(),
             'return_url': self.get_return_url(request),
             **self.get_extra_context(request),
         })
@@ -475,7 +482,7 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
         return render(request, self.template_name, {
             'model': model,
             'form': form,
-            'fields': self.model_form().fields,
+            'fields': self._get_form_fields(),
             'return_url': self.get_return_url(request),
             **self.get_extra_context(request),
         })