Coverage for users/api/serializers_/nested.py: 77%
20 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from drf_spectacular.types import OpenApiTypes
2from drf_spectacular.utils import extend_schema_field
4from netbox.api.serializers import WritableNestedSerializer
5from users import models
7__all__ = (
8 'NestedGroupSerializer',
9 'NestedUserSerializer',
10)
13class NestedGroupSerializer(WritableNestedSerializer):
15 class Meta:
16 model = models.Group
17 fields = ['id', 'url', 'display_url', 'display', 'name']
18 ref_name = 'NestedGroup'
21class NestedUserSerializer(WritableNestedSerializer):
23 class Meta:
24 model = models.User
25 fields = ['id', 'url', 'display_url', 'display', 'username']
26 ref_name = 'NestedUser'
28 @extend_schema_field(OpenApiTypes.STR)
29 def get_display(self, obj):
30 if full_name := obj.get_full_name():
31 return f"{obj.username} ({full_name})"
32 return obj.username