最近发现一个现象是测试环境的 sqlite 是可以区分巨细写的。

就是说

Python

# sqlite 环境

>>> Company.objects.filter(name='Teambition')

]>

>>> Company.objects.filter(name='teambition')

]>

而到了线上的 MySQL 就不区分巨细写了。

Python

# MySQL 环境

>>> Company.objects.filter(name='teambition')

[]>, ]>]

获获得两个实例。 但这样不是我预想的。

早先我查询了官方文档, 获得指引使用__exact方式. 即:

Python

Company.objects.filter(name__exact='teambition')

然则无效!!!

由于测试环境的 sqlite 没有问题, 以是嫌疑在 mysql 的设置上面。 原来是字符集校对规则的问题, utf8_general_ci 不区分巨细写, 可以改成utf8_bin(将字符串中的每一个字符用二进制数据存储,区分巨细写。) 或者 utf8_general_cs(cs为case sensitive的缩写,即巨细写敏感).

然则, 由于我程序段没有操作数据库的权限, 以是没有去 alter 已经有的 TABLE。 我找到另外的一种解决方式

通过 DJANGO ORM 的extra, 在匹配语句上面加上BINARY来区分巨细写.

Python

if settings.ENV == 'prod':

# 线上的 MySQL 数据库加上 binary

app = Company.objects.extra(where=['binary name=%s'], params=[options['app'],]).first()

else:

# Sqlite 不做处置

app = Company.objects.filter(name=options['app']).first()

原文链接:https://www.cnblogs.com/feifeifeisir/p/12858933.html

本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处置。

django查询mysql 区分大小写_Django+MySQL查询不区分大小写问题相关推荐

  1. python制作查询网页_django+mysql实现网页查询

    django+mysql实现网页查询 实现网页查询并返回结果,将查询关键字保存至数据库 环境: vscode 编辑器 python3.8.2 djangoVersion: 2.0 pip list P ...

  2. mysql教程多表查询_mysql重点,表查询操作和多表查询

    表单查询 1. 完整的查询语句语法 select distinct(* or 字段名 or 四则运算 )from 表名 where 条件 group by 条件 having 条件 order by ...

  3. mysql性能优化-慢查询分析、优化索引和配置

    目录 一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_con ...

  4. MySQL WHERE:条件查询

    在使用 MySQL SELECT语句时,可以使用 WHERE 子句来指定查询条件,从 FROM 子句的中间结果中选取适当的数据行,达到数据过滤的效果. 语法格式如下: WHERE <查询条件&g ...

  5. mysql数据类型查询命令_Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用...

    MySQL 存储引擎,也被称为表类型: MyISAM表:无事务处理功能,支持表锁 .frm:表结构定义文件 .MYD:表数据文件 .MYI:表索引文件 InnoDB表:支持事务处理功能,支持行锁 .f ...

  6. mysql的基本的查询语句_Mysql的基本查询语句

    聚集函数 mysql有5个聚集函数,分别是AVG,MAX,MIN,SUM,COUNT. 分组 分组的使用group by作为关键字,having作为条件关键字. having和where的区别:1.w ...

  7. php sequelize,node,express_sequelize 联合查询,node,express,mysql,sequelize - phpStudy

    sequelize 联合查询 我用sequelize 联合查询 db.user.hasMany(db.bbsuser,{foreignKey:'userId'}); db.bbsuser.belong ...

  8. mysql中的模糊查询(非原创)

    Mysql 使用通配符进行模糊查询(like,%,_) 通配符的分类 1)%百分号通配符: 表示任何字符出现任意次数 (可以是0次). 2)_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一 ...

  9. mysql 缓存优缺点_MySQL查询缓存的优缺点

    任职DBA一年多了,更正下博客. 其实MySQL8.0已经取消了查询缓存.如果是小型项目,又不想用Reids或者MC等缓存,查询结果相对固定,可以在MySQL5.7以下版本设置缓存. ######## ...

最新文章

  1. mysql2008jar包下载_求java jdbc 连sql server2008的jar包
  2. 现场总线和工业以太网
  3. Visual Studio 2008 可扩展性开发(九):总结篇
  4. Ubuntu 安装 Qt 开发环境 简单实现
  5. 22-React JSX语法
  6. Windows下的FFmpeg 、MEncoder、MPlayer下载地址
  7. 计组之中央处理器:5、微程序控制器(组成、原理、概念对比)
  8. 吴恩达机器学习练习3:Logistic regression(Multi-class Classification)
  9. Html显示缩略图点击展示,JS点击缩略图整屏居中放大图片效果
  10. PL/SQL数据类型
  11. vue-自定义组件传
  12. 给input设置css样式,input能改变css样式吗
  13. Tier1 OEM ODM 区别
  14. 爬取智联招聘岗位描述并根据描述生成词云
  15. ES集群状态一直yellow状态引发的思考
  16. kernel too old
  17. 苏嵌嵌入式linux实训 第1天
  18. 同轴电缆阻抗总结(电阻、阻抗、特性阻抗)
  19. pvifa怎么用计算机算,怎样用用“卡西欧”计算机fx-82ES PLUS 计算年金现值系数和年金终值系统?...
  20. Semantic Structure-BasedWord Embedding by Incorporating Concept Convergence and Word Divergence

热门文章

  1. Linux 受到开发者偏爱的 9 个理由
  2. 30 万奖金悬赏 | CSDN 软件开发精英赛即日启动
  3. Python 实现校园卡目标检测与文字识别系统
  4. GitCode 版本升级,让开发更加高效
  5. 树莓派竟出微控制器了!Raspberry Pi Pico 只需 4 美元!
  6. Pyston v2.0 发布,速度比 Python 快 20%!
  7. 用一首歌时间将 React 应用 Docker 化,成为前端 Star!
  8. Google排名第一的编程语言,死磕它这两点,小白也能学的会!不信你看!
  9. 滴滴技术总监受贿 1000 万,列入招聘黑名单,互联网大厂反腐有多强?
  10. 没错!Python 杀死了 Excel!