Procházet zdrojové kódy

Use TreeNodeChoiceField for MPTT objects

Jeremy Stretch před 6 roky
rodič
revize
8bd1fad7d0
1 změnil soubory, kde provedl 6 přidání a 0 odebrání
  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.conf import settings
 from django.core.validators import RegexValidator
 from django.core.validators import RegexValidator
 from django.db import transaction
 from django.db import transaction
+from mptt.forms import TreeNodeChoiceField
+from mptt.models import MPTTModel
 
 
 from ipam.formfields import IPFormField
 from ipam.formfields import IPFormField
 from utilities.exceptions import AbortTransaction
 from utilities.exceptions import AbortTransaction
@@ -124,6 +126,10 @@ class ObjectVar(ScriptVariable):
         # Queryset for field choices
         # Queryset for field choices
         self.field_attrs['queryset'] = queryset
         self.field_attrs['queryset'] = queryset
 
 
+        # Update form field for MPTT (nested) objects
+        if issubclass(queryset.model, MPTTModel):
+            self.form_field = TreeNodeChoiceField
+
 
 
 class IPNetworkVar(ScriptVariable):
 class IPNetworkVar(ScriptVariable):
     """
     """