过滤查询字符串中的多个参数

纽特

我有一个django应用程序,它具有过滤器作为其功能之一。

过滤器值是通过一个复选框确定的,该复选框使用ajax发送到django后端,如下所示:

$('input.type-check').on('click', function(){
      var a = $(this).prop('checked');
      if(a == true){
          elem.push($(this).attr('data-role'));
      }else{
          elem.splice($(this).attr('data-role'));
      }
      var cats = '';
      $.each(elem, function(i){
          cats += elem[i];
      });
      var xurl ='/filter?category='+cats;
      $.ajax({
          type: 'GET',
          url: xurl,
          success: function(data){
              $('div.products').html(data);
          }
      })
  });

所述/filter$' url is mapped to thefitlered`视图是:

def filtered(request):
  if 'category' in request.GET and request.GET['category']:
      cat = request.GET['category']
      ct = Product.objects.filter(category__in=cat)
      diction = {'prods': ct}
      return render(request, 'filter.html', diction)

当仅category发送一个作为参数时,它起作用但是,当我发送多个时,它没有任何结果。

例如:

filter?category=Dairy将返回与该类别关联的产品。但是,filter?category=Dairy,Plasticsfilter?category=DairyPlastics(来自上述Javascript代码段)未返回任何结果。

我已经尝试将category内括号放在视图中,如下所示,[cat]但这也无济于事。我应该怎么做才能使其返回结果?

卡尔提克尔

问题是,您既没有指定分隔符来划分类别,也没有在视图中分离类别。

试试这个:

在JQuery中

var cats = elem.join(', ')
var xurl ='/filter?category='+cats;

并在视图中:

def filtered(request):
    if request.GET.get('category'):
        cat = request.GET.get'category')
        cat_list = [c.strip() for c in cat.split(',')]
        ct = Product.objects.filter(category__in=cat_list).distinct()
        #You might need a distinct clause too, to remove duplicates

        diction = {'prods': ct}
        return render(request, 'filter.html', diction)

这将适用于单个类别v / sa类别列表

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

angularjs中的多个查询字符串参数

来自分类Dev

端点查询字符串参数中的多个“ where子句”

来自分类Dev

AngularJS中具有多个参数的查询字符串

来自分类Dev

AngularJS中具有多个参数的查询字符串

来自分类Dev

端点查询字符串参数中的多个“ where子句”

来自分类Dev

查询字符串参数中的斜线?

来自分类Dev

查询字符串参数中的斜线?

来自分类Dev

.htaccess在多个查询字符串中

来自分类Dev

如果Django中存在查询字符串参数,如何构造网址以进行过滤

来自分类Dev

解析多个枚举值(带标记):从查询字符串中读取过滤器类型

来自分类Dev

解析多个枚举值(带标记):从查询字符串中读取过滤器类型

来自分类Dev

如何过滤字符串中的多个限制词?

来自分类Dev

Xpath过滤器字符串中的多个值

来自分类Dev

过滤字段中的多个单词字符串(elasticsearch 1.1)

来自分类Dev

如何过滤字符串中的多个限制词?

来自分类Dev

如何在JSP中传递没有查询字符串的查询字符串参数?

来自分类Dev

在python中的字符串mongo查询中传递参数

来自分类Dev

Django REST框架-使用日期和字符串参数过滤查询参数

来自分类Dev

字符串中没有足够的参数,多个 IN 子句在来自 Python 的 MySQL 查询中具有列表值

来自分类Dev

RESTful API查询字符串中需要的参数?

来自分类Dev

Java:如何从查询字符串中删除参数

来自分类Dev

Web Api:在查询字符串中传递空参数

来自分类Dev

角查询字符串参数中包含哈希

来自分类Dev

如何在PlayFramework中验证查询字符串参数

来自分类Dev

从标签中的href获取查询字符串参数

来自分类Dev

如何获取Javascript或jQuery中的查询字符串参数?

来自分类Dev

如何访问回送模型中的查询字符串参数?

来自分类Dev

限制查询字符串中的参数数量

来自分类Dev

无法在URL中访问Django查询字符串参数

Related 相关文章

  1. 1

    angularjs中的多个查询字符串参数

  2. 2

    端点查询字符串参数中的多个“ where子句”

  3. 3

    AngularJS中具有多个参数的查询字符串

  4. 4

    AngularJS中具有多个参数的查询字符串

  5. 5

    端点查询字符串参数中的多个“ where子句”

  6. 6

    查询字符串参数中的斜线?

  7. 7

    查询字符串参数中的斜线?

  8. 8

    .htaccess在多个查询字符串中

  9. 9

    如果Django中存在查询字符串参数,如何构造网址以进行过滤

  10. 10

    解析多个枚举值(带标记):从查询字符串中读取过滤器类型

  11. 11

    解析多个枚举值(带标记):从查询字符串中读取过滤器类型

  12. 12

    如何过滤字符串中的多个限制词?

  13. 13

    Xpath过滤器字符串中的多个值

  14. 14

    过滤字段中的多个单词字符串(elasticsearch 1.1)

  15. 15

    如何过滤字符串中的多个限制词?

  16. 16

    如何在JSP中传递没有查询字符串的查询字符串参数?

  17. 17

    在python中的字符串mongo查询中传递参数

  18. 18

    Django REST框架-使用日期和字符串参数过滤查询参数

  19. 19

    字符串中没有足够的参数,多个 IN 子句在来自 Python 的 MySQL 查询中具有列表值

  20. 20

    RESTful API查询字符串中需要的参数?

  21. 21

    Java:如何从查询字符串中删除参数

  22. 22

    Web Api:在查询字符串中传递空参数

  23. 23

    角查询字符串参数中包含哈希

  24. 24

    如何在PlayFramework中验证查询字符串参数

  25. 25

    从标签中的href获取查询字符串参数

  26. 26

    如何获取Javascript或jQuery中的查询字符串参数?

  27. 27

    如何访问回送模型中的查询字符串参数?

  28. 28

    限制查询字符串中的参数数量

  29. 29

    无法在URL中访问Django查询字符串参数

热门标签

归档