Django - CRM项目(2)Q查询(模糊查询)

一、CRM项目(2)

  利用Q查询中的q对象完成条件筛选功能。

  批量删除、公户转私户功能。

  新增一张跟进记录表ConsultRecord,迁移数据库并添加测试数据,实现跟进记录列表页面。

  客户列表新增跟进记录字段,并与对应客户的跟进记录列表页面建立链接。

二、补充

1、Q查询补充

示例一:

  q=Q()  # 实例化一个Q的对象q,我们可以给它加条件
  q.children.append(("name","alex")) # 添加筛选条件,即name字段为alex的记录
  # 再添加一个条件,即gender字段为男,与上一个筛选条件的关系默认是"且",即叫alex的男同学
  q.children.append(("gender","男")) 
  Student.objects.filter(q)  # 过滤name为alex的男同学

示例二:

  q=Q()  # 实例化一个Q的对象q
  q.children.append(("name__contains","赵")) # 添加筛选条件
  Student.objects.filter(q)  # 过滤name字段中包含"赵"的同学

示例三:

# 改为"或"的关系
  q=Q()  # 实例化一个Q的对象q
  q.connertor="or"  # 改为"或"的关系
  q.children.append(("name","alex"),("gender","")) 
  Student.objects.filter(q)  # 过滤name为alex或者性别是男的所有同学
  # 注意:上面示例中都是确定字段,即name字段为alex,gender字段为男,最重要的是q对象中条件元组中除了字符串,也可以是变量。

 

posted @ 2018-11-14 09:50  卍风衍  阅读(489)  评论(0编辑  收藏  举报