|
|
@@ -19,7 +19,7 @@ from ipam import filtersets
|
|
|
from ipam.models import *
|
|
|
from ipam.utils import get_next_available_prefix
|
|
|
from netbox.api.viewsets import NetBoxModelViewSet
|
|
|
-from netbox.api.viewsets.mixins import ObjectValidationMixin
|
|
|
+from netbox.api.viewsets.mixins import ObjectValidationMixin, discard_events_on_rollback
|
|
|
from netbox.config import get_config
|
|
|
from netbox.constants import ADVISORY_LOCK_KEYS
|
|
|
from utilities.api import get_serializer_for_model
|
|
|
@@ -295,8 +295,9 @@ class AvailableObjectsView(ObjectValidationMixin, APIView):
|
|
|
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
|
|
|
|
|
# Create the new IP address(es)
|
|
|
+ using = router.db_for_write(self.queryset.model)
|
|
|
try:
|
|
|
- with transaction.atomic(using=router.db_for_write(self.queryset.model)):
|
|
|
+ with transaction.atomic(using=using), discard_events_on_rollback(self, using=using):
|
|
|
created = serializer.save()
|
|
|
self._validate_objects(created)
|
|
|
except ObjectDoesNotExist:
|