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

17419 fix MPTT issue with migrations for nested module bays (#17553)

* 17419 rebuild module bay tree on upgrade

* 17419 rebuild module bay tree on upgrade

* 17419 use get_model
Arthur Hanson 1 год назад
Родитель
Сommit
0ec632e548
1 измененных файлов с 26 добавлено и 0 удалено
  1. 26 0
      netbox/dcim/migrations/0191_module_bay_rebuild.py

+ 26 - 0
netbox/dcim/migrations/0191_module_bay_rebuild.py

@@ -0,0 +1,26 @@
+from django.db import migrations
+import mptt
+import mptt.managers
+
+
+def rebuild_mptt(apps, schema_editor):
+    manager = mptt.managers.TreeManager()
+    ModuleBay = apps.get_model('dcim', 'ModuleBay')
+    manager.model = ModuleBay
+    mptt.register(ModuleBay)
+    manager.contribute_to_class(ModuleBay, 'objects')
+    manager.rebuild()
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dcim', '0190_nested_modules'),
+    ]
+
+    operations = [
+        migrations.RunPython(
+            code=rebuild_mptt,
+            reverse_code=migrations.RunPython.noop
+        ),
+    ]