|
9 | 9 | from django.db import transaction, IntegrityError |
10 | 10 | from django.db.models import ManyToManyField, ProtectedError, RestrictedError |
11 | 11 | from django.db.models.fields.reverse_related import ManyToManyRel |
12 | | -from django.forms import HiddenInput, ModelMultipleChoiceField, MultipleHiddenInput |
| 12 | +from django.forms import ModelMultipleChoiceField, MultipleHiddenInput |
13 | 13 | from django.http import HttpResponse |
14 | 14 | from django.shortcuts import get_object_or_404, redirect, render |
15 | 15 | from django.urls import reverse |
16 | 16 | from django.utils.safestring import mark_safe |
17 | 17 | from django.utils.translation import gettext as _ |
18 | 18 | from django_tables2.export import TableExport |
| 19 | +from mptt.models import MPTTModel |
19 | 20 |
|
20 | 21 | from core.models import ObjectType |
21 | 22 | from extras.choices import CustomFieldUIEditableChoices |
@@ -614,6 +615,10 @@ def _update_objects(self, form, request): |
614 | 615 | if form.cleaned_data.get('remove_tags', None): |
615 | 616 | obj.tags.remove(*form.cleaned_data['remove_tags']) |
616 | 617 |
|
| 618 | + # Rebuild the tree for MPTT models |
| 619 | + if issubclass(self.queryset.model, MPTTModel): |
| 620 | + self.queryset.model.objects.rebuild() |
| 621 | + |
617 | 622 | return updated_objects |
618 | 623 |
|
619 | 624 | # |
|
0 commit comments