فهرست منبع

Review feedback

Arthur 2 هفته پیش
والد
کامیت
905d17294a
1فایلهای تغییر یافته به همراه13 افزوده شده و 2 حذف شده
  1. 13 2
      netbox/dcim/migrations/0226_modulebay_rebuild_tree.py

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

@@ -1,12 +1,23 @@
 from django.db import migrations
 import mptt.managers
+import mptt.models
 
 
 def rebuild_mptt(apps, schema_editor):
-    manager = mptt.managers.TreeManager()
+    """
+    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()
     manager.model = ModuleBay
-    mptt.register(ModuleBay)
     manager.contribute_to_class(ModuleBay, 'objects')
     manager.rebuild()