def partial_update_bulk(self, request, *args, **kwargs):
        is_valid, errors = self.is_valid_bulk_operation()
        if is_valid:
            queryset = self.filter_queryset(self.get_queryset())
            update_bulk_dict = self.get_update_bulk_dict(serializer=self.get_serializer_class()(), data=request.data)
            self.pre_save_bulk(queryset, update_bulk_dict)  # todo: test and document me
            try:
                queryset.update(**update_bulk_dict)
            except __HOLE__ as e:
                errors = {
                    'detail': force_text(e)
                }
                return Response(errors, status=status.HTTP_400_BAD_REQUEST)
            self.post_save_bulk(queryset, update_bulk_dict)  # todo: test and document me
            return Response(status=status.HTTP_204_NO_CONTENT)
        else:
            return Response(errors, status=status.HTTP_400_BAD_REQUEST)
dataset/ETHPy150Open chibisov/drf-extensions/rest_framework_extensions/bulk_operations/mixins.py/ListUpdateModelMixin.partial_update_bulk