我有一个django项目,我想进行一些单元测试。当我尝试:
python manage.py test
它会抛出此错误,我在这里找不到有关它的更多信息。
settings.py
中的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
它似乎与InnoDB
和MyISAM
相关,但我不知道有什么问题以及如何解决它。谢谢!
django版本:1.5.4
mysql版本:5.5
此外,任何django模型中都没有设置unique=True
。
答案 0 :(得分:9)
解决方案
ALTER DATABASE `databasename` CHARACTER SET utf8;
已经暴露在这里
答案 1 :(得分:1)
我找到了自己的解决方案。
如果你在my.cnf
中有某种方式:
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
然后它会产生这个“太多字节”的问题。把它还原回旧的utf8
,它有所帮助。
答案 2 :(得分:0)
使用以下命令创建数据库 创建数据库字符集utf8;
答案 3 :(得分:0)
我已经解决了创建如下所示的新数据库的主题问题:
DROP DATABASE IF EXISTS databasename;
CREATE DATABASE databasename DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;