Fixes #17810: Fix assignment of device to rack via REST API without specifying position/face

This commit is contained in:
Jeremy Stretch 2024-11-26 14:26:06 -05:00
parent 24b76792a9
commit ca20ff6b7b
2 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,30 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dcim', '0191_module_bay_rebuild'),
('extras', '0121_customfield_related_object_filter'),
('ipam', '0070_vlangroup_vlan_id_ranges'),
('tenancy', '0015_contactassignment_rename_content_type'),
('virtualization', '0040_convert_disk_size'),
]
operations = [
migrations.RemoveConstraint(
model_name='device',
name='dcim_device_unique_rack_position_face',
),
migrations.AddConstraint(
model_name='device',
constraint=models.UniqueConstraint(
condition=models.Q(
('position__isnull', False),
('rack__isnull', False)
),
fields=('rack', 'position', 'face'),
name='dcim_device_unique_rack_position_face'
),
),
]

View File

@ -798,6 +798,7 @@ class Device(
), ),
models.UniqueConstraint( models.UniqueConstraint(
fields=('rack', 'position', 'face'), fields=('rack', 'position', 'face'),
condition=Q(rack__isnull=False, position__isnull=False),
name='%(app_label)s_%(class)s_unique_rack_position_face' name='%(app_label)s_%(class)s_unique_rack_position_face'
), ),
models.UniqueConstraint( models.UniqueConstraint(