1
0
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:
jeremystretch
2022-09-27 15:44:38 -04:00
parent f51415cf2c
commit 7ff2cb75a8
5 changed files with 31 additions and 23 deletions

View File

@ -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'),

View File

@ -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'
), ),
) )

View File

@ -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'
), ),
) )

View File

@ -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."
), ),

View File

@ -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."
), ),