mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-25 00:36:11 -06:00
7961 bugfix and cleanup
This commit is contained in:
parent
3d66012329
commit
1ecf51e492
@ -335,29 +335,15 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
|
|||||||
|
|
||||||
for row, data in enumerate(records, start=1):
|
for row, data in enumerate(records, start=1):
|
||||||
obj = self.queryset.model.objects.get(pk=data["pk"])
|
obj = self.queryset.model.objects.get(pk=data["pk"])
|
||||||
obj_form = self.model_form(instance=obj)
|
obj_form = self.model_form(data, headers=headers, instance=obj)
|
||||||
|
|
||||||
save_data = model_to_dict(obj)
|
# The form should only contain fields that are in the CSV
|
||||||
new_data = data
|
for name, field in list(obj_form.fields.items()):
|
||||||
for name, field in obj_form.fields.items():
|
if name not in headers:
|
||||||
if name == "manufacturer":
|
del obj_form.fields[name]
|
||||||
breakpoint()
|
|
||||||
if field.required and name not in obj_form.data:
|
|
||||||
if type(field) == CSVModelChoiceField and name in save_data:
|
|
||||||
# rel_field = field.queryset.get(pk=save_data[name])
|
|
||||||
# to_name = getattr(field, 'to_field_name') or 'pk'
|
|
||||||
# obj_form.data[name] = getattr(rel_field, to_name)
|
|
||||||
new_data[name] = getattr(field.queryset.get(pk=save_data[name]), getattr(field, 'to_field_name') or 'pk')
|
|
||||||
else:
|
|
||||||
if name in save_data:
|
|
||||||
new_data[name] = save_data[name]
|
|
||||||
|
|
||||||
obj_form = self.model_form(new_data, headers=headers, instance=obj)
|
|
||||||
# obj_form = self.model_form(save_data, instance=obj)
|
|
||||||
|
|
||||||
restrict_form_fields(obj_form, request.user)
|
restrict_form_fields(obj_form, request.user)
|
||||||
|
|
||||||
breakpoint()
|
|
||||||
if obj_form.is_valid():
|
if obj_form.is_valid():
|
||||||
obj = self._save_obj(obj_form, request)
|
obj = self._save_obj(obj_form, request)
|
||||||
new_objs.append(obj)
|
new_objs.append(obj)
|
||||||
|
Loading…
Reference in New Issue
Block a user