mptt.forms
¶
Form components for working with trees.
-
class
mptt.forms.
TreeNodeChoiceField
(queryset, *args, **kwargs)¶ A ModelChoiceField for tree nodes.
-
class
mptt.forms.
TreeNodeMultipleChoiceField
(queryset, *args, **kwargs)¶ A ModelMultipleChoiceField for tree nodes.
-
class
mptt.forms.
TreeNodePositionField
(*args, **kwargs)¶ A ChoiceField for specifying position relative to another node.
-
DEFAULT_CHOICES
= (('first-child', 'First child'), ('last-child', 'Last child'), ('left', 'Left sibling'), ('right', 'Right sibling'))¶
-
FIRST_CHILD
= 'first-child'¶
-
LAST_CHILD
= 'last-child'¶
-
LEFT
= 'left'¶
-
RIGHT
= 'right'¶
-
-
class
mptt.forms.
MoveNodeForm
(node, *args, **kwargs)¶ A form which allows the user to move a given node from one location in its tree to another, with optional restriction of the nodes which are valid target nodes for the move.
-
base_fields
= {'position': <mptt.forms.TreeNodePositionField object>, 'target': <mptt.forms.TreeNodeChoiceField object>}¶
-
declared_fields
= {'position': <mptt.forms.TreeNodePositionField object>, 'target': <mptt.forms.TreeNodeChoiceField object>}¶
-
media
¶
-
save
()¶ Attempts to move the node using the selected target and position.
If an invalid move is attempted, the related error message will be added to the form’s non-field errors and the error will be re-raised. Callers should attempt to catch
InvalidNode
to redisplay the form with the error, should it occur.
-