mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 09:51:22 -06:00
Closes #17472: Deprecate the staged changes API
This commit is contained in:
parent
ed1327eeb7
commit
bc597c3c5d
@ -1,5 +1,8 @@
|
|||||||
# Branches
|
# Branches
|
||||||
|
|
||||||
|
!!! danger "Deprecated Feature"
|
||||||
|
This feature has been deprecated in NetBox v4.2 and will be removed in a future release. Please consider using the [netbox-branching plugin](https://github.com/netboxlabs/netbox-branching), which provides much more robust functionality.
|
||||||
|
|
||||||
A branch is a collection of related [staged changes](./stagedchange.md) that have been prepared for merging into the active database. A branch can be merged by executing its `commit()` method. Deleting a branch will delete all its related changes.
|
A branch is a collection of related [staged changes](./stagedchange.md) that have been prepared for merging into the active database. A branch can be merged by executing its `commit()` method. Deleting a branch will delete all its related changes.
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
# Staged Changes
|
# Staged Changes
|
||||||
|
|
||||||
|
!!! danger "Deprecated Feature"
|
||||||
|
This feature has been deprecated in NetBox v4.2 and will be removed in a future release. Please consider using the [netbox-branching plugin](https://github.com/netboxlabs/netbox-branching), which provides much more robust functionality.
|
||||||
|
|
||||||
A staged change represents the creation of a new object or the modification or deletion of an existing object to be performed at some future point. Each change must be assigned to a [branch](./branch.md).
|
A staged change represents the creation of a new object or the modification or deletion of an existing object to be performed at some future point. Each change must be assigned to a [branch](./branch.md).
|
||||||
|
|
||||||
Changes can be applied individually via the `apply()` method, however it is recommended to apply changes in bulk using the parent branch's `commit()` method.
|
Changes can be applied individually via the `apply()` method, however it is recommended to apply changes in bulk using the parent branch's `commit()` method.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Staged Changes
|
# Staged Changes
|
||||||
|
|
||||||
!!! danger "Experimental Feature"
|
!!! danger "Deprecated Feature"
|
||||||
This feature is still under active development and considered experimental in nature. Its use in production is strongly discouraged at this time.
|
This feature has been deprecated in NetBox v4.2 and will be removed in a future release. Please consider using the [netbox-branching plugin](https://github.com/netboxlabs/netbox-branching), which provides much more robust functionality.
|
||||||
|
|
||||||
NetBox provides a programmatic API to stage the creation, modification, and deletion of objects without actually committing those changes to the active database. This can be useful for performing a "dry run" of bulk operations, or preparing a set of changes for administrative approval, for example.
|
NetBox provides a programmatic API to stage the creation, modification, and deletion of objects without actually committing those changes to the active database. This can be useful for performing a "dry run" of bulk operations, or preparing a set of changes for administrative approval, for example.
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import logging
|
import logging
|
||||||
|
import warnings
|
||||||
|
|
||||||
from django.contrib.contenttypes.fields import GenericForeignKey
|
from django.contrib.contenttypes.fields import GenericForeignKey
|
||||||
from django.db import models, transaction
|
from django.db import models, transaction
|
||||||
@ -44,6 +45,13 @@ class Branch(ChangeLoggedModel):
|
|||||||
verbose_name = _('branch')
|
verbose_name = _('branch')
|
||||||
verbose_name_plural = _('branches')
|
verbose_name_plural = _('branches')
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
warnings.warn(
|
||||||
|
'The staged changes functionality has been deprecated and will be removed in a future release.',
|
||||||
|
DeprecationWarning
|
||||||
|
)
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f'{self.name} ({self.pk})'
|
return f'{self.name} ({self.pk})'
|
||||||
|
|
||||||
@ -97,6 +105,13 @@ class StagedChange(CustomValidationMixin, EventRulesMixin, models.Model):
|
|||||||
verbose_name = _('staged change')
|
verbose_name = _('staged change')
|
||||||
verbose_name_plural = _('staged changes')
|
verbose_name_plural = _('staged changes')
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
warnings.warn(
|
||||||
|
'The staged changes functionality has been deprecated and will be removed in a future release.',
|
||||||
|
DeprecationWarning
|
||||||
|
)
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
action = self.get_action_display()
|
action = self.get_action_display()
|
||||||
app_label, model_name = self.object_type.natural_key()
|
app_label, model_name = self.object_type.natural_key()
|
||||||
|
Loading…
Reference in New Issue
Block a user