Просмотр исходного кода

Use templated app & model names for all unique constraints

jeremystretch 3 лет назад
Родитель
Сommit
7ff2cb75a8

+ 8 - 0
netbox/dcim/migrations/0162_unique_constraints.py

@@ -8,6 +8,10 @@ class Migration(migrations.Migration):
     ]
 
     operations = [
+        migrations.RemoveConstraint(
+            model_name='cabletermination',
+            name='dcim_cable_termination_unique_termination',
+        ),
         migrations.RemoveConstraint(
             model_name='location',
             name='dcim_location_name',
@@ -136,6 +140,10 @@ class Migration(migrations.Migration):
             name='rearporttemplate',
             unique_together=set(),
         ),
+        migrations.AddConstraint(
+            model_name='cabletermination',
+            constraint=models.UniqueConstraint(fields=('termination_type', 'termination_id'), name='dcim_cabletermination_unique_termination'),
+        ),
         migrations.AddConstraint(
             model_name='consoleport',
             constraint=models.UniqueConstraint(fields=('device', 'name'), name='dcim_consoleport_unique_device_name'),

+ 1 - 1
netbox/dcim/models/cables.py

@@ -269,7 +269,7 @@ class CableTermination(models.Model):
         constraints = (
             models.UniqueConstraint(
                 fields=('termination_type', 'termination_id'),
-                name='dcim_cable_termination_unique_termination'
+                name='%(app_label)s_%(class)s_unique_termination'
             ),
         )
 

+ 7 - 7
netbox/dcim/models/devices.py

@@ -662,22 +662,22 @@ class Device(NetBoxModel, ConfigContextModel):
         ordering = ('_name', 'pk')  # Name may be null
         constraints = (
             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(
-                name='dcim_device_unique_name_site',
                 fields=('name', 'site'),
+                name='%(app_label)s_%(class)s_unique_name_site',
                 condition=Q(tenant__isnull=True),
                 violation_error_message="Device name must be unique per site."
             ),
             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(
-                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'
             ),
         )
 

+ 12 - 12
netbox/dcim/models/sites.py

@@ -62,21 +62,21 @@ class Region(NestedGroupModel):
         constraints = (
             models.UniqueConstraint(
                 fields=('parent', 'name'),
-                name='dcim_region_parent_name'
+                name='%(app_label)s_%(class)s_parent_name'
             ),
             models.UniqueConstraint(
                 fields=('name',),
-                name='dcim_region_name',
+                name='%(app_label)s_%(class)s_name',
                 condition=Q(parent__isnull=True),
                 violation_error_message="A top-level region with this name already exists."
             ),
             models.UniqueConstraint(
                 fields=('parent', 'slug'),
-                name='dcim_region_parent_slug'
+                name='%(app_label)s_%(class)s_parent_slug'
             ),
             models.UniqueConstraint(
                 fields=('slug',),
-                name='dcim_region_slug',
+                name='%(app_label)s_%(class)s_slug',
                 condition=Q(parent__isnull=True),
                 violation_error_message="A top-level region with this slug already exists."
             ),
@@ -136,21 +136,21 @@ class SiteGroup(NestedGroupModel):
         constraints = (
             models.UniqueConstraint(
                 fields=('parent', 'name'),
-                name='dcim_sitegroup_parent_name'
+                name='%(app_label)s_%(class)s_parent_name'
             ),
             models.UniqueConstraint(
                 fields=('name',),
-                name='dcim_sitegroup_name',
+                name='%(app_label)s_%(class)s_name',
                 condition=Q(parent__isnull=True),
                 violation_error_message="A top-level site group with this name already exists."
             ),
             models.UniqueConstraint(
                 fields=('parent', 'slug'),
-                name='dcim_sitegroup_parent_slug'
+                name='%(app_label)s_%(class)s_parent_slug'
             ),
             models.UniqueConstraint(
                 fields=('slug',),
-                name='dcim_sitegroup_slug',
+                name='%(app_label)s_%(class)s_slug',
                 condition=Q(parent__isnull=True),
                 violation_error_message="A top-level site group with this slug already exists."
             ),
@@ -355,21 +355,21 @@ class Location(NestedGroupModel):
         constraints = (
             models.UniqueConstraint(
                 fields=('site', 'parent', 'name'),
-                name='dcim_location_parent_name'
+                name='%(app_label)s_%(class)s_parent_name'
             ),
             models.UniqueConstraint(
                 fields=('site', 'name'),
-                name='dcim_location_name',
+                name='%(app_label)s_%(class)s_name',
                 condition=Q(parent__isnull=True),
                 violation_error_message="A location with this name already exists within the specified site."
             ),
             models.UniqueConstraint(
                 fields=('site', 'parent', 'slug'),
-                name='dcim_location_parent_slug'
+                name='%(app_label)s_%(class)s_parent_slug'
             ),
             models.UniqueConstraint(
                 fields=('site', 'slug'),
-                name='dcim_location_slug',
+                name='%(app_label)s_%(class)s_slug',
                 condition=Q(parent__isnull=True),
                 violation_error_message="A location with this slug already exists within the specified site."
             ),

+ 3 - 3
netbox/virtualization/models.py

@@ -318,12 +318,12 @@ class VirtualMachine(NetBoxModel, ConfigContextModel):
         ordering = ('_name', 'pk')  # Name may be non-unique
         constraints = (
             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(
-                name='virtualization_virtualmachine_unique_name_cluster',
                 fields=('name', 'cluster'),
+                name='%(app_label)s_%(class)s_unique_name_cluster',
                 condition=Q(tenant__isnull=True),
                 violation_error_message="Virtual machine name must be unique per site."
             ),