def access(self, request, uuid=None): """Return access objects for specified role.""" try: role = Role.objects.get(uuid=uuid) except (Role.DoesNotExist, ValidationError): raise Http404() access = AccessSerializer(role.access, many=True).data page = self.paginate_queryset(access) return self.get_paginated_response(page)
def validate_and_get_access_list(self, data): """Validate if input data contains valid access list and return.""" access_list = data.get("access") if not isinstance(access_list, list): key = "access" message = "A list of access is expected, but {} is found.".format(type(access_list).__name__) error = {key: [_(message)]} raise serializers.ValidationError(error) for access in access_list: AccessSerializer(data=access).is_valid(raise_exception=True) return access_list