views.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:tunga-api 作者: tunga-io 项目源码 文件源码
def update_read(self, request, pk=None):
        """
        Updates user's read_at for channel
        ---
        request_serializer: LastReadActivitySerializer
        response_serializer: TaskSerializer
        """
        serializer = self.get_serializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        last_read = serializer.validated_data['last_read']
        task = get_object_or_404(self.get_queryset(), pk=pk)
        if task.has_object_read_permission(request):
            ActivityReadLog.objects.update_or_create(
                user=request.user,
                content_type=ContentType.objects.get_for_model(task), object_id=task.id,
                defaults={'last_read': last_read}
            )
            response_serializer = TaskSerializer(task, context={'request': request})
            return Response(response_serializer.data)
        return Response(
            {'status': 'Unauthorized', 'message': 'No access to this task'},
            status=status.HTTP_401_UNAUTHORIZED
        )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号