Răsfoiți Sursa

Review feedback

Arthur 2 săptămâni în urmă
părinte
comite
44e5a4c177

+ 2 - 13
netbox/dcim/migrations/0226_modulebay_rebuild_tree.py

@@ -1,23 +1,12 @@
 from django.db import migrations
 import mptt.managers
-import mptt.models
 
 
 def rebuild_mptt(apps, schema_editor):
-    """
-    Rebuild the MPTT tree for ModuleBay to apply new ordering.
-    """
-    ModuleBay = apps.get_model('dcim', 'ModuleBay')
-
-    # Set MPTTMeta with the correct order_insertion_by
-    class MPTTMeta:
-        order_insertion_by = ('module', 'name',)
-
-    ModuleBay.MPTTMeta = MPTTMeta
-    ModuleBay._mptt_meta = mptt.models.MPTTOptions(MPTTMeta)
-
     manager = mptt.managers.TreeManager()
+    ModuleBay = apps.get_model('dcim', 'ModuleBay')
     manager.model = ModuleBay
+    mptt.register(ModuleBay)
     manager.contribute_to_class(ModuleBay, 'objects')
     manager.rebuild()
 

+ 2 - 0
netbox/dcim/models/modules.py

@@ -330,6 +330,7 @@ class Module(TrackingModelMixin, PrimaryModel, ConfigContextModel):
                 component._location = self.device.location
                 component._rack = self.device.rack
 
+            # we handle create and update separately - this is for create
             if not issubclass(component_model, MPTTModel):
                 component_model.objects.bulk_create(create_instances)
                 # Emit the post_save signal for each newly created object
@@ -349,6 +350,7 @@ class Module(TrackingModelMixin, PrimaryModel, ConfigContextModel):
 
             update_fields = ['module']
 
+            # we handle create and update separately - this is for update
             component_model.objects.bulk_update(update_instances, update_fields)
             # Emit the post_save signal for each updated object
             for component in update_instances:

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

@@ -534,7 +534,6 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
         if issubclass(self.queryset.model, MPTTModel):
             with self.queryset.model.objects.delay_mptt_updates():
                 saved_objects = self._process_import_records(form, request, records, prefetched_objects)
-            self.queryset.model.objects.rebuild()
         else:
             saved_objects = self._process_import_records(form, request, records, prefetched_objects)
 
@@ -915,8 +914,6 @@ class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView):
                                     for obj in selected_objects:
                                         setattr(obj, self.field_name, obj.new_name)
                                         obj.save()
-
-                                self.queryset.model.objects.rebuild()
                             else:
                                 for obj in selected_objects:
                                     setattr(obj, self.field_name, obj.new_name)