Skip to content
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Generated by Django 5.2.2 on 2025-10-30 08:45

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('netbox_routing', '0016_ospfinterface_interface_onetoonefield'),
]

operations = [
migrations.AddConstraint(
model_name='eigrprouter',
constraint=models.UniqueConstraint(
fields=('device', 'name'),
name='netbox_routing_eigrprouter_unique_device_name',
nulls_distinct=False,
violation_error_message="""Name must be unique per device.\n
Only a single empty name is permitted per device""",
),
),
migrations.AddConstraint(
model_name='ospfinstance',
constraint=models.UniqueConstraint(
fields=('device', 'name'),
name='netbox_routing_ospfinstance_unique_device_name',
nulls_distinct=False,
violation_error_message="""Name must be unique per device.\n
Only a single empty name is permitted per device""",
),
),
]
9 changes: 9 additions & 0 deletions netbox_routing/models/eigrp.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ class EIGRPRouter(PrimaryModel):

class Meta:
verbose_name = 'EIGRP Router'
constraints = (
models.UniqueConstraint(
fields=('device', 'name'),
name='%(app_label)s_%(class)s_unique_device_name',
violation_error_message="""Name must be unique per device.
Only a single empty name is permitted per device""",
nulls_distinct=False,
),
)

def __str__(self):
if self.pid:
Expand Down
9 changes: 9 additions & 0 deletions netbox_routing/models/ospf.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,15 @@ class OSPFInstance(PrimaryModel):
class Meta:
ordering = ['vrf', 'router_id', 'process_id']
verbose_name = 'OSPF Instance'
constraints = (
models.UniqueConstraint(
fields=('device', 'name'),
name='%(app_label)s_%(class)s_unique_device_name',
violation_error_message="""Name must be unique per device.
Only a single empty name is permitted per device""",
nulls_distinct=False,
),
)

def __str__(self):
return f'{self.name} ({self.router_id})'
Expand Down