mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Use templated app & model names for all unique constraints
This commit is contained in:
@ -8,6 +8,10 @@ class Migration(migrations.Migration):
|
|||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
migrations.RemoveConstraint(
|
||||||
|
model_name='cabletermination',
|
||||||
|
name='dcim_cable_termination_unique_termination',
|
||||||
|
),
|
||||||
migrations.RemoveConstraint(
|
migrations.RemoveConstraint(
|
||||||
model_name='location',
|
model_name='location',
|
||||||
name='dcim_location_name',
|
name='dcim_location_name',
|
||||||
@ -136,6 +140,10 @@ class Migration(migrations.Migration):
|
|||||||
name='rearporttemplate',
|
name='rearporttemplate',
|
||||||
unique_together=set(),
|
unique_together=set(),
|
||||||
),
|
),
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name='cabletermination',
|
||||||
|
constraint=models.UniqueConstraint(fields=('termination_type', 'termination_id'), name='dcim_cabletermination_unique_termination'),
|
||||||
|
),
|
||||||
migrations.AddConstraint(
|
migrations.AddConstraint(
|
||||||
model_name='consoleport',
|
model_name='consoleport',
|
||||||
constraint=models.UniqueConstraint(fields=('device', 'name'), name='dcim_consoleport_unique_device_name'),
|
constraint=models.UniqueConstraint(fields=('device', 'name'), name='dcim_consoleport_unique_device_name'),
|
||||||
|
@ -269,7 +269,7 @@ class CableTermination(models.Model):
|
|||||||
constraints = (
|
constraints = (
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('termination_type', 'termination_id'),
|
fields=('termination_type', 'termination_id'),
|
||||||
name='dcim_cable_termination_unique_termination'
|
name='%(app_label)s_%(class)s_unique_termination'
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -662,22 +662,22 @@ class Device(NetBoxModel, ConfigContextModel):
|
|||||||
ordering = ('_name', 'pk') # Name may be null
|
ordering = ('_name', 'pk') # Name may be null
|
||||||
constraints = (
|
constraints = (
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
name='dcim_device_unique_name_site_tenant',
|
fields=('name', 'site', 'tenant'),
|
||||||
fields=('name', 'site', 'tenant')
|
name='%(app_label)s_%(class)s_unique_name_site_tenant'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
name='dcim_device_unique_name_site',
|
|
||||||
fields=('name', 'site'),
|
fields=('name', 'site'),
|
||||||
|
name='%(app_label)s_%(class)s_unique_name_site',
|
||||||
condition=Q(tenant__isnull=True),
|
condition=Q(tenant__isnull=True),
|
||||||
violation_error_message="Device name must be unique per site."
|
violation_error_message="Device name must be unique per site."
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
name='dcim_device_unique_rack_position_face',
|
fields=('rack', 'position', 'face'),
|
||||||
fields=('rack', 'position', 'face')
|
name='%(app_label)s_%(class)s_unique_rack_position_face'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
name='dcim_device_unique_virtual_chassis_vc_position',
|
fields=('virtual_chassis', 'vc_position'),
|
||||||
fields=('virtual_chassis', 'vc_position')
|
name='%(app_label)s_%(class)s_unique_virtual_chassis_vc_position'
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -62,21 +62,21 @@ class Region(NestedGroupModel):
|
|||||||
constraints = (
|
constraints = (
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('parent', 'name'),
|
fields=('parent', 'name'),
|
||||||
name='dcim_region_parent_name'
|
name='%(app_label)s_%(class)s_parent_name'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('name',),
|
fields=('name',),
|
||||||
name='dcim_region_name',
|
name='%(app_label)s_%(class)s_name',
|
||||||
condition=Q(parent__isnull=True),
|
condition=Q(parent__isnull=True),
|
||||||
violation_error_message="A top-level region with this name already exists."
|
violation_error_message="A top-level region with this name already exists."
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('parent', 'slug'),
|
fields=('parent', 'slug'),
|
||||||
name='dcim_region_parent_slug'
|
name='%(app_label)s_%(class)s_parent_slug'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('slug',),
|
fields=('slug',),
|
||||||
name='dcim_region_slug',
|
name='%(app_label)s_%(class)s_slug',
|
||||||
condition=Q(parent__isnull=True),
|
condition=Q(parent__isnull=True),
|
||||||
violation_error_message="A top-level region with this slug already exists."
|
violation_error_message="A top-level region with this slug already exists."
|
||||||
),
|
),
|
||||||
@ -136,21 +136,21 @@ class SiteGroup(NestedGroupModel):
|
|||||||
constraints = (
|
constraints = (
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('parent', 'name'),
|
fields=('parent', 'name'),
|
||||||
name='dcim_sitegroup_parent_name'
|
name='%(app_label)s_%(class)s_parent_name'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('name',),
|
fields=('name',),
|
||||||
name='dcim_sitegroup_name',
|
name='%(app_label)s_%(class)s_name',
|
||||||
condition=Q(parent__isnull=True),
|
condition=Q(parent__isnull=True),
|
||||||
violation_error_message="A top-level site group with this name already exists."
|
violation_error_message="A top-level site group with this name already exists."
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('parent', 'slug'),
|
fields=('parent', 'slug'),
|
||||||
name='dcim_sitegroup_parent_slug'
|
name='%(app_label)s_%(class)s_parent_slug'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('slug',),
|
fields=('slug',),
|
||||||
name='dcim_sitegroup_slug',
|
name='%(app_label)s_%(class)s_slug',
|
||||||
condition=Q(parent__isnull=True),
|
condition=Q(parent__isnull=True),
|
||||||
violation_error_message="A top-level site group with this slug already exists."
|
violation_error_message="A top-level site group with this slug already exists."
|
||||||
),
|
),
|
||||||
@ -355,21 +355,21 @@ class Location(NestedGroupModel):
|
|||||||
constraints = (
|
constraints = (
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('site', 'parent', 'name'),
|
fields=('site', 'parent', 'name'),
|
||||||
name='dcim_location_parent_name'
|
name='%(app_label)s_%(class)s_parent_name'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('site', 'name'),
|
fields=('site', 'name'),
|
||||||
name='dcim_location_name',
|
name='%(app_label)s_%(class)s_name',
|
||||||
condition=Q(parent__isnull=True),
|
condition=Q(parent__isnull=True),
|
||||||
violation_error_message="A location with this name already exists within the specified site."
|
violation_error_message="A location with this name already exists within the specified site."
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('site', 'parent', 'slug'),
|
fields=('site', 'parent', 'slug'),
|
||||||
name='dcim_location_parent_slug'
|
name='%(app_label)s_%(class)s_parent_slug'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
fields=('site', 'slug'),
|
fields=('site', 'slug'),
|
||||||
name='dcim_location_slug',
|
name='%(app_label)s_%(class)s_slug',
|
||||||
condition=Q(parent__isnull=True),
|
condition=Q(parent__isnull=True),
|
||||||
violation_error_message="A location with this slug already exists within the specified site."
|
violation_error_message="A location with this slug already exists within the specified site."
|
||||||
),
|
),
|
||||||
|
@ -318,12 +318,12 @@ class VirtualMachine(NetBoxModel, ConfigContextModel):
|
|||||||
ordering = ('_name', 'pk') # Name may be non-unique
|
ordering = ('_name', 'pk') # Name may be non-unique
|
||||||
constraints = (
|
constraints = (
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
name='virtualization_virtualmachine_unique_name_cluster_tenant',
|
fields=('name', 'cluster', 'tenant'),
|
||||||
fields=('name', 'cluster', 'tenant')
|
name='%(app_label)s_%(class)s_unique_name_cluster_tenant'
|
||||||
),
|
),
|
||||||
models.UniqueConstraint(
|
models.UniqueConstraint(
|
||||||
name='virtualization_virtualmachine_unique_name_cluster',
|
|
||||||
fields=('name', 'cluster'),
|
fields=('name', 'cluster'),
|
||||||
|
name='%(app_label)s_%(class)s_unique_name_cluster',
|
||||||
condition=Q(tenant__isnull=True),
|
condition=Q(tenant__isnull=True),
|
||||||
violation_error_message="Virtual machine name must be unique per site."
|
violation_error_message="Virtual machine name must be unique per site."
|
||||||
),
|
),
|
||||||
|
Reference in New Issue
Block a user