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

Use TreeNodeChoiceField for MPTT objects

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

+ 6 - 0
netbox/extras/scripts.py

@@ -10,6 +10,8 @@ from django import forms
 from django.conf import settings
 from django.core.validators import RegexValidator
 from django.db import transaction
+from mptt.forms import TreeNodeChoiceField
+from mptt.models import MPTTModel
 
 from ipam.formfields import IPFormField
 from utilities.exceptions import AbortTransaction
@@ -124,6 +126,10 @@ class ObjectVar(ScriptVariable):
         # Queryset for field choices
         self.field_attrs['queryset'] = queryset
 
+        # Update form field for MPTT (nested) objects
+        if issubclass(queryset.model, MPTTModel):
+            self.form_field = TreeNodeChoiceField
+
 
 class IPNetworkVar(ScriptVariable):
     """