Adjust uniqueness constraints

This commit is contained in:
Jeremy Stretch 2024-07-29 13:30:34 -04:00
parent 6144409058
commit e583ffa3e4
4 changed files with 52 additions and 49 deletions

View File

@ -1,47 +0,0 @@
# Generated by Django 5.0.7 on 2024-07-23 10:12
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dcim', '0189_moduletype_airflow_rack_airflow_racktype_airflow'),
]
operations = [
migrations.AddField(
model_name='modulebay',
name='module',
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name='%(class)ss',
to='dcim.module',
),
),
migrations.AddField(
model_name='modulebaytemplate',
name='module_type',
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name='%(class)ss',
to='dcim.moduletype',
),
),
migrations.AlterField(
model_name='modulebaytemplate',
name='device_type',
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name='%(class)ss',
to='dcim.devicetype',
),
),
]

View File

@ -0,0 +1,44 @@
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dcim', '0189_moduletype_airflow_rack_airflow_racktype_airflow'),
('extras', '0119_eventrule_event_types'),
]
operations = [
migrations.AlterModelOptions(
name='modulebaytemplate',
options={'ordering': ('device_type', 'module_type', '_name')},
),
migrations.RemoveConstraint(
model_name='modulebay',
name='dcim_modulebay_unique_device_name',
),
migrations.AddField(
model_name='modulebay',
name='module',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to='dcim.module'),
),
migrations.AddField(
model_name='modulebaytemplate',
name='module_type',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to='dcim.moduletype'),
),
migrations.AlterField(
model_name='modulebaytemplate',
name='device_type',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to='dcim.devicetype'),
),
migrations.AddConstraint(
model_name='modulebay',
constraint=models.UniqueConstraint(fields=('device', 'module', 'name'), name='dcim_modulebay_unique_device_module_name'),
),
migrations.AddConstraint(
model_name='modulebaytemplate',
constraint=models.UniqueConstraint(fields=('module_type', 'name'), name='dcim_modulebaytemplate_unique_module_type_name'),
),
]

View File

@ -668,7 +668,7 @@ class ModuleBayTemplate(ModularComponentTemplateModel):
component_model = ModuleBay
class Meta(ComponentTemplateModel.Meta):
class Meta(ModularComponentTemplateModel.Meta):
verbose_name = _('module bay template')
verbose_name_plural = _('module bay templates')

View File

@ -1100,7 +1100,13 @@ class ModuleBay(ModularComponentModel, TrackingModelMixin):
clone_fields = ('device',)
class Meta(ComponentModel.Meta):
class Meta(ModularComponentModel.Meta):
constraints = (
models.UniqueConstraint(
fields=('device', 'module', 'name'),
name='%(app_label)s_%(class)s_unique_device_module_name'
),
)
verbose_name = _('module bay')
verbose_name_plural = _('module bays')