zoukankan      html  css  js  c++  java
  • Django filter中用contains和icontains区别

    用django的人经常会用到filter过滤集合的功能,这里对比下contains和icontains区别

    1.queryset.filter(name__contains="e")
    2.queryset.filter(name__icontains="e")

    打印一下这两行代码对应的sql语句就会看到区别

    1.'contains': 'LIKE BINARY %s',
    2.'icontains': 'LIKE %s',

    这其中的BINARY到底代表什么意思呢,答案是 精确大小写
    而’icontains’中的’i’表示忽略大小写

    举例:

    select * from plant where name like BINARY '%e%';
    2 eee

    select * from plant where name like '%e%';
    1 Ezs
    2 eee
    所以,两条sql查出的结果集是不一样的。
    ————————————————
    版权声明:本文为CSDN博主「空气中的臭氧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/dqchouyang/article/details/78229922

  • 相关阅读:
    bean的作用域和生命周期
    装配Bean的三种方式
    BeanFactory和ApplicationContext对比
    创建 Spring容器的三种方式
    约束
    三大范式
    事务
    EdgeRank
    TCP三次握手四次挥手
    Linux权限解释
  • 原文地址:https://www.cnblogs.com/cafe910912/p/15466806.html
Copyright © 2011-2022 走看看