From a9a012daf02d5ddfe043b6643cde0c99447202aa Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 7 May 2024 15:56:27 -0400 Subject: [PATCH] Fixes #16011: Fix site tenant assignment by PK via REST API --- netbox/dcim/api/serializers_/sites.py | 2 +- netbox/dcim/tests/test_api.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/api/serializers_/sites.py b/netbox/dcim/api/serializers_/sites.py index cf30ca44c..1e5e41069 100644 --- a/netbox/dcim/api/serializers_/sites.py +++ b/netbox/dcim/api/serializers_/sites.py @@ -51,7 +51,7 @@ class SiteSerializer(NetBoxModelSerializer): status = ChoiceField(choices=SiteStatusChoices, required=False) region = RegionSerializer(nested=True, required=False, allow_null=True) group = SiteGroupSerializer(nested=True, required=False, allow_null=True) - tenant = TenantSerializer(required=False, allow_null=True) + tenant = TenantSerializer(nested=True, required=False, allow_null=True) time_zone = TimeZoneSerializerField(required=False, allow_null=True) asns = SerializedPKRelatedField( queryset=ASN.objects.all(), diff --git a/netbox/dcim/tests/test_api.py b/netbox/dcim/tests/test_api.py index cc6165370..52b850b24 100644 --- a/netbox/dcim/tests/test_api.py +++ b/netbox/dcim/tests/test_api.py @@ -10,6 +10,7 @@ from dcim.models import * from extras.models import ConfigTemplate from ipam.models import ASN, RIR, VLAN, VRF from netbox.api.serializers import GenericObjectSerializer +from tenancy.models import Tenant from utilities.testing import APITestCase, APIViewTestCases, create_test_device from virtualization.models import Cluster, ClusterType from wireless.choices import WirelessChannelChoices @@ -152,6 +153,7 @@ class SiteTest(APIViewTestCases.APIViewTestCase): Site.objects.bulk_create(sites) rir = RIR.objects.create(name='RFC 6996', is_private=True) + tenant = Tenant.objects.create(name='Tenant 1', slug='tenant-1') asns = [ ASN(asn=65000 + i, rir=rir) for i in range(8) @@ -166,6 +168,7 @@ class SiteTest(APIViewTestCases.APIViewTestCase): 'group': groups[1].pk, 'status': SiteStatusChoices.STATUS_ACTIVE, 'asns': [asns[0].pk, asns[1].pk], + 'tenant': tenant.pk, }, { 'name': 'Site 5',