python+Django+test 测试数据库生成报错
前提:
使用Django自带的test进行单元测试。
问题描述:
运行:python manage.py test,报错,出现数据库乱码的现象,报错如下:
Creating test database for alias 'default'...
Got an error creating the test database: (1007, u"Can't create database 'test_yd_zy_bank'; database exists")
Type 'yes' if you would like to try deleting the test database 'test_yd_zy_bank', or 'no' to cancel: yes
Destroying old test database 'default'...
(1366, u"Incorrect string value: '\\xE7\\xA4\\xBA\\xE4\\xBE\\x8B...' for column 'func_name' at row 1")
.............
django.db.utils.InternalError: (1366, u"Incorrect string value: '\\xE5\\x8A\\x9F\\xE8\\x83\\xBD...' for column 'name' at row 1")
其中name字段加入了中文,导致乱码。
错误分析:
test生成的临时数据库默认不是utf8,不支持中文,导致错误。尝试过修改项目数据库的字符编码,并没有效果,因为test使用的数据库数据是临时生成的,并不适用项目配置的数据库
解决办法:
在settings.py中添加对database的描述,设置字符编码默认设置:
'TEST_CHARSET': 'utf8',
'TEST_COLLATION': 'utf8_general_ci',
最后改完如下:

最后,再次运行python manage.py test,成功。
补充 :自定义测试数据库名字时的配置如下

python+Django+test 测试数据库生成报错的更多相关文章
- 导入MySQL测试数据库employee报错
导入MySQL测试数据库employee 报错 下载地址:https://launchpad.net/test-db/ 上传解压: [root@001 ~]# tar xf employees_db- ...
- python——django使用mysql数据库(二)
上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...
- python——django使用mysql数据库(一)
之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...
- Django 自定义标签与过滤器报错 No module named 'templatetags'
Django 自定义标签与过滤器报错 按照网上的教程如果想使用自定义的标签与过滤器就得往settings.py中添加下列数据 TEMPLATES = [ { 'BACKEND': 'django.te ...
- python中引入包的时候报错AttributeError: module 'sys' has no attribute 'setdefaultencoding'解决方法?
python中引入包的时候报错:import unittestimport smtplibimport timeimport osimport sysimp.reload(sys)sys.setdef ...
- 11gR2数据库日志报错:Fatal NI connect error 12170、
11gR2数据库日志报错:Fatal NI connect error 12170.TNS-12535.TNS-00505 [问题点数:100分,结帖人MarkIII] 不显示 ...
- 数据库open报错ORA-01555: snapshot too old
原文博客链接地址:数据库open报错ORA-01555: snapshot too old 今天正在东莞蜜月的时候.一个学生说他管理的測试库出问题了,无法open,我们先来看看是什么问题: Recov ...
- .Net Core删除ClientApp目录,重新生成报错解决办法
因为在老的项目上做修改,需要删除单独的spa目录,就把ClientApp删掉了.但是重新生成报错,在VS2017界面上也没找到在什么地方配置.最后发现在csproj上里面可以去掉spa的配置 < ...
- 4、Oracle 数据库 startup 报错:ORA-27102: out of memory
1.数据库启动报错: ORA-: out of memory SQL> startup pfile='/db/oracle/init.ora'; ORA-: out of memory Linu ...
随机推荐
- opcache 参数说明 --转自https://www.cnblogs.com/tudou1223/p/5362785.html
PHP的opcode缓存又出了新成员(说新不新,也有一段日子了),那就是opcache.新浪微博等都在使用,惠新宸老师强力推荐.本人最近根据官网地址(http://www.php.net/manual ...
- ros的一些设置
端口映射规则,dst-address填写你的公网地址,乱写也可以,到后面会通过定时脚本自动更新 /ip firewall nat add action=dst-nat chain=dstnat com ...
- Centos 7 LVM xfs文件系统修复
Centos 7 LVM xfs文件系统修复 今天一大早,zabbix开始报警了,一台linux主机出现问题. 登陆控制台查看,报如下错误. 解决方法如下: ls -l /dev/mapper xfs ...
- prepareRefresh()方法源码探究
该方法目的是做刷新上下文前的准备工作: 首先清空bean扫描器map中的内容,然后调用父类的prepareRefresh方法: 父类的准备刷新方法,主要做了3个工作: 1.简单的标志赋值----> ...
- 招聘IT图书兼职作者(长期兼职)
招聘图书兼职作者(长期兼职),本公司有十多年的计算机图书出版经验,每年出版上百本编程类图书, 和清华大学出版社 电子工业出版社 机械工业出版社都有很好的合作.你可以不用按时上线,不用天天被boss盯着 ...
- idea导入svn项目
起初和导入git项目一样,file - new - project from version control - ,这后面选 subversion. 在打开的 checkout from subver ...
- phpstorm 如何设置识别vue文件
非常简单,步骤如下: 第一步: 设置->plugins->browser repositories 搜索vue.js,然后安装一下vue.js插件,重启ide. 第二步: Editor - ...
- 4、redis 分布式锁
1. 前言 关于分布式锁的实现,目前常用的方案有以下三类: 数据库乐观锁: 基于分布式缓存实现的锁服务,典型代表有 Redis 和基于 Redis 的 RedLock: 基于分布式一致性算法实现的锁服 ...
- java 通过jmx获取active mq队列消息
一.修改active mq配置文件 修改\conf\activemq.xml,带下划线部分 <!-- Licensed to the Apache Software Foundation (AS ...
- sql查询统计
SELECT TOP 50 (select text from sys.dm_exec_sql_text(sql_handle)) as [SQL], CAST( ((qs.total_elapsed ...