来自客户端的请求进入数组,如何使用Django rest框架过滤器处理它

如何解决来自客户端的请求进入数组,如何使用Django rest框架过滤器处理它

正如我在标题中提到的,客户端过滤器请求是从制表器数据表到其余框架后端的这种模式。

/?page=1&size=10&filters[0][field]=q&filters[0][type]=like&filters[0][value]=something

我已经尝试过这种方法,但是没有用

    class MemberListSerializerView(generics.ListAPIView):
        model = Membership
        serializer_class = MemberSerializer
        pagination_class = CustomPagination
    
        def get_queryset(self):
            queryset = Membership.objects.members()
            query = self.request.query_params.get('filters[value][0]',None)
            if query is not None:
                queryset = queryset.filter(
                Q(user__username__icontains=query) |
                Q(user__first_name__icontains=query) |
                Q(user__last_name__icontains=query)
                )
            return queryset

解决方法

您可以尝试遍历所有请求的get变量并提取数据

    for key in request.GET:
        print(key)
        value = request.GET[key]
        print(value)
,

Tabulator以这种方式发送ajax请求,因为它是在PHP请求中表示数组数据的标准方式。

如果您希望以不同的方式构造请求,则可以使用 ajaxURLGenerator 函数以您喜欢的任何方式构造请求参数:

var table = new Tabulator("#example-table",{
    ajaxURLGenerator:function(url,config,params){
        //url - the url from the ajaxURL property or setData function
        //config - the request config object from the ajaxConfig property
        //params - the params object from the ajaxParams property,this will also include any pagination,filter and sorting properties based on table setup

        //return request url
        return url + "?params=" + encodeURI(JSON.stringify(params)); //encode parameters as a json object
    },});

有关详细信息,请查看Ajax Documentation

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?