根据用户是否登录或n显示不同的视图

2024-10-03 04:29:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试根据当前用户筛选任务,如果没有人登录,我希望查看所有任务

这是我的观点课:

class TasksViewSet(viewsets.ModelViewSet):
    def get_queryset(self):
        queryset = Tasks.objects.filter(Q(assigner=self.request.user)| Q(assignee=self.request.user))
        return queryset
    queryset = Tasks.objects

    serializer_class = TasksSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)

    def perfrom_create(self, serializer):
        serializer.save(self, assigner=self.request.user.pk)

这将在用户登录时执行此操作。。如果没有人登录,如何查看所有内容


Tags: 用户selfobjectsrequestdefclasstasksqueryset
1条回答
网友
1楼 · 发布于 2024-10-03 04:29:19

使用以下命令:

def get_queryset(self):
    user = self.request.user
    queryset = Task.objects.all()
    if not user.is_anonymous():
        queryset = queryset.filter(Q(assigner=user)| Q(assignee=user))
    return queryset

我建议你读一些文件:https://docs.djangoproject.com/en/1.11/ref/contrib/auth/#anonymoususer-object

相关问题 更多 >