【Django】Django中的模糊查询以及Q对象的简单使用

Django中的模糊查询:

  需要做一个查找的功能,所以需要使用到模糊查询.

使用方法是:字段名加上双下划线跟上contains或者icontains,icontains和contains表示是否区分大小写.

  实测icontains为不区分大小写,contains为区分大小写.

from djangp.db.models import Q
def select_seller(request,keyword):     
        seller_info= Seller.objects.filter(Q(username__icontains=keyword|Q(nickname__icontains=keyword)|Q(wechat__icontains=keyword))  

Q对象的或与且:

  或的关系:

  上面的代码中使用到了Q对象,使用Q对象在这个例子里表示的是或的关系,表示只要keyword符合其中任意一个条件即可.

Q(condition1)|Q(condition2),在SQL语句里面就是条件1or条件2

  且的关系:

  如果需要表示同时满足多个条件的时候,只需要使用逗号连接即可Q(condition1),Q(condition2),这样表示同时需要满足条件1和条件2

  或与且也是可以同时使用的,使用方法是Q(condition1),Q(condition2)|Q(condition3),这样就可以表示满足条件1的时候,满足条件2或者条件3..

猜你喜欢

转载自www.cnblogs.com/shiguangyishiyongbuhui/p/9251837.html