diff --git a/netbox/virtualization/api/serializers_/clusters.py b/netbox/virtualization/api/serializers_/clusters.py index 2c1237170..adc31a73c 100644 --- a/netbox/virtualization/api/serializers_/clusters.py +++ b/netbox/virtualization/api/serializers_/clusters.py @@ -1,8 +1,6 @@ from django.contrib.contenttypes.models import ContentType from drf_spectacular.utils import extend_schema_field from rest_framework import serializers - -from dcim.api.serializers_.sites import SiteSerializer from netbox.api.fields import ChoiceField, ContentTypeField, RelatedObjectCountField from netbox.api.serializers import NetBoxModelSerializer from tenancy.api.serializers_.tenants import TenantSerializer @@ -51,7 +49,6 @@ class ClusterSerializer(NetBoxModelSerializer): group = ClusterGroupSerializer(nested=True, required=False, allow_null=True, default=None) status = ChoiceField(choices=ClusterStatusChoices, required=False) tenant = TenantSerializer(nested=True, required=False, allow_null=True) - site = SiteSerializer(nested=True, required=False, allow_null=True, default=None) scope_type = ContentTypeField( queryset=ContentType.objects.filter( model__in=CLUSTER_SCOPE_TYPES diff --git a/netbox/virtualization/migrations/0043_clusters_cached_relations.py b/netbox/virtualization/migrations/0043_clusters_cached_relations.py index eed9ae5bb..cfc7bdb10 100644 --- a/netbox/virtualization/migrations/0043_clusters_cached_relations.py +++ b/netbox/virtualization/migrations/0043_clusters_cached_relations.py @@ -81,5 +81,15 @@ class Migration(migrations.Migration): model_name='cluster', name='site', ), + migrations.RemoveConstraint( + model_name='cluster', + name='virtualization_cluster_unique_site_name', + ), + migrations.AddConstraint( + model_name='cluster', + constraint=models.UniqueConstraint( + fields=('_site', 'name'), name='virtualization_cluster_unique__site_name' + ), + ), ] diff --git a/netbox/virtualization/models/clusters.py b/netbox/virtualization/models/clusters.py index 42a7a54cd..da4a68df5 100644 --- a/netbox/virtualization/models/clusters.py +++ b/netbox/virtualization/models/clusters.py @@ -148,8 +148,8 @@ class Cluster(ContactsMixin, PrimaryModel): name='%(app_label)s_%(class)s_unique_group_name' ), models.UniqueConstraint( - fields=('site', 'name'), - name='%(app_label)s_%(class)s_unique_site_name' + fields=('_site', 'name'), + name='%(app_label)s_%(class)s_unique__site_name' ), ) verbose_name = _('cluster')