authentik.endpoints.api.device_access_group
1from rest_framework.viewsets import ModelViewSet 2 3from authentik.core.api.used_by import UsedByMixin 4from authentik.core.api.utils import ModelSerializer 5from authentik.endpoints.models import DeviceAccessGroup 6 7 8class DeviceAccessGroupSerializer(ModelSerializer): 9 10 class Meta: 11 model = DeviceAccessGroup 12 fields = [ 13 "pbm_uuid", 14 "name", 15 "attributes", 16 ] 17 18 19class DeviceAccessGroupViewSet(UsedByMixin, ModelViewSet): 20 """DeviceAccessGroup Viewset""" 21 22 queryset = DeviceAccessGroup.objects.all() 23 serializer_class = DeviceAccessGroupSerializer 24 search_fields = [ 25 "pbm_uuid", 26 "name", 27 ] 28 filterset_fields = [ 29 "pbm_uuid", 30 "name", 31 ] 32 ordering = ["name"]
9class DeviceAccessGroupSerializer(ModelSerializer): 10 11 class Meta: 12 model = DeviceAccessGroup 13 fields = [ 14 "pbm_uuid", 15 "name", 16 "attributes", 17 ]
A ModelSerializer is just a regular Serializer, except that:
- A set of default fields are automatically populated.
- A set of default validators are automatically populated.
- Default
.create()and.update()implementations are provided.
The process of automatically determining a set of serializer fields based on the model fields is reasonably complex, but you almost certainly don't need to dig into the implementation.
If the ModelSerializer class doesn't generate the set of fields that
you need you should either declare the extra/differing fields explicitly on
the serializer class, or simply use a Serializer class.
Inherited Members
class
DeviceAccessGroupSerializer.Meta:
11 class Meta: 12 model = DeviceAccessGroup 13 fields = [ 14 "pbm_uuid", 15 "name", 16 "attributes", 17 ]
model =
<class 'authentik.endpoints.models.DeviceAccessGroup'>
class
DeviceAccessGroupViewSet(authentik.core.api.used_by.UsedByMixin, rest_framework.viewsets.ModelViewSet):
20class DeviceAccessGroupViewSet(UsedByMixin, ModelViewSet): 21 """DeviceAccessGroup Viewset""" 22 23 queryset = DeviceAccessGroup.objects.all() 24 serializer_class = DeviceAccessGroupSerializer 25 search_fields = [ 26 "pbm_uuid", 27 "name", 28 ] 29 filterset_fields = [ 30 "pbm_uuid", 31 "name", 32 ] 33 ordering = ["name"]
DeviceAccessGroup Viewset
serializer_class =
<class 'DeviceAccessGroupSerializer'>