我想在Django python中基于多个字段过滤数据。
在这种情况下,如果对webserver的GET请求以/searchStudent/?firstName=&lastName=xyzage=23&class=&city=
的形式出现,并且我们不知道查询字符串中可能的参数是什么,那么其中一些可以带有值,而有些变量没有值。问题是,有没有从请求中获取只有值或没有值的变量。我知道我们可以简单地使用request.GET.get('city')
来获取值,但是我正在寻找从查询字符串中获取非空变量的方法,有没有办法从查询字符串中找到非值变量?在上面的场景中,city, class, and firstName
没有值,我不想将其添加到筛选器中。正确的方法是什么?请推荐正确的方法。在
要获取非空查询参数的dict,请使用以下代码:
但是不要用这种方式构建queryset。永远不要相信来自用户输入的数据。因此,您必须有一个要搜索的字段列表,并使用此列表筛选出不正确的字段名:
^{pr2}$我这样做了,得到了动态过滤的答案
这就是所谓的动态查询,我不知道这一点。感谢@catavaran,你提出了这个概念。
还引用了这个链接Dynamic Django Queries
相关问题 更多 >
编程相关推荐