Coverage for tenancy/api/serializers_/nested.py: 100%

19 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 18:35 +0000

1from drf_spectacular.utils import extend_schema_serializer 

2from rest_framework import serializers 

3 

4from netbox.api.serializers import WritableNestedSerializer 

5from tenancy import models 

6 

7__all__ = ( 

8 'NestedContactGroupSerializer', 

9 'NestedTenantGroupSerializer', 

10) 

11 

12 

13@extend_schema_serializer( 

14 exclude_fields=('contact_count',), 

15) 

16class NestedContactGroupSerializer(WritableNestedSerializer): 

17 contact_count = serializers.IntegerField(read_only=True) 

18 _depth = serializers.IntegerField(source='level', read_only=True) 

19 

20 class Meta: 

21 model = models.ContactGroup 

22 fields = ['id', 'url', 'display_url', 'display', 'name', 'slug', 'contact_count', '_depth'] 

23 

24 

25@extend_schema_serializer( 

26 exclude_fields=('tenant_count',), 

27) 

28class NestedTenantGroupSerializer(WritableNestedSerializer): 

29 tenant_count = serializers.IntegerField(read_only=True) 

30 _depth = serializers.IntegerField(source='level', read_only=True) 

31 

32 class Meta: 

33 model = models.TenantGroup 

34 fields = ['id', 'url', 'display_url', 'display', 'name', 'slug', 'tenant_count', '_depth']