首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分页与多条件紊乱导致接口404问题?

分页与多条件紊乱导致接口404问题?

提问于 2025-01-14 22:19:44
回答 0关注 0查看 22

目前所有的数据是这样是正确的,但是当我点击第二页,且查询用户名为哈哈哈的时候就会出现接口找不到的问题(正常来说应该返回的是空列表,因为没有包含hahah用户的审计信息但是报错了,第一页就不会出现这个问题就能正常返回空)

请各位大佬基于指正,以下是我完整的后端代码

代码语言:javascript
运行
复制
class SysAuditFilter(FilterSet):
    action_type = filters.CharFilter(
        field_name="action_type", lookup_expr="icontains", required=False
    )  # 模糊查询
    user_name = filters.CharFilter(
        field_name="user_name", lookup_expr="icontains", required=False
    )  # 模糊查询

    class Meta:
        model = SysAudit
        fields = ['action_type', 'user_name']  # 定义可用的过滤字段


# 定义视图集
class SysAuditViewSet(viewsets.ModelViewSet):
    queryset = SysAudit.objects.all()
    serializer_class = SysAuditSerializer
    filter_backends = (DjangoFilterBackend, OrderingFilter)  # 使用过滤器和排序
    ordering_fields = ('action_time',)

    def get_queryset(self):
        queryset = super().get_queryset()  # 获取初始查询集
        date_range = self.request.GET.getlist('dateRange[]')  # 获取日期范围参数

        # 调试输出,查看收到的参数
        print("日期范围参数:", date_range)

        # 处理日期范围过滤
        if len(date_range) == 2:  # 确保有两个时间点
            start_time, end_time = date_range
            queryset = queryset.filter(action_time__gte=start_time, action_time__lte=end_time)
        elif not date_range:  # 如果没有日期范围,则返回所有数据
            print("日期范围为空,返回所有数据")
        # user_name = self.request.GET.get('user_name', None)
        # if user_name:
        #     queryset = queryset.filter(user_name__icontains=user_name)
        # action_type = self.request.GET.get('action_type', None)
        # if action_type:
        #     queryset = queryset.filter(action_type__icontains=action_type)
        # 打印调试信息,查看过滤后的查询集
        print("过滤后的查询集:", queryset)

        # 返回最终的查询集,分页器会在后面处理
        return queryset

不知道这个问题怎么解决?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档