mptt.forms
Form components for working with trees.
- 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>}
- property media
Return all media required to render the widgets on this form.
- 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.
- 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'