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

Capture MultiObjectField default form field values

Jeremy Stretch 6 лет назад
Родитель
Сommit
5f3528cf74
1 измененных файлов с 8 добавлено и 0 удалено
  1. 8 0
      netbox/utilities/forms.py

+ 8 - 0
netbox/utilities/forms.py

@@ -571,7 +571,15 @@ class MultiObjectField(forms.Field):
             return list()
             return list()
 
 
         for i, obj_data in enumerate(value, start=1):
         for i, obj_data in enumerate(value, start=1):
+
+            # Bind object data to form
             form = self.form(obj_data)
             form = self.form(obj_data)
+
+            # Assign default values for required fields that have not been defined
+            for field_name, field in form.fields.items():
+                if field_name not in obj_data and hasattr(field, 'initial'):
+                    form.data[field_name] = field.initial
+
             if not form.is_valid():
             if not form.is_valid():
                 errors = [
                 errors = [
                    "Object {} {}: {}".format(i, field, errors) for field, errors in form.errors.items()
                    "Object {} {}: {}".format(i, field, errors) for field, errors in form.errors.items()