Django在进行单元测试的时候出现Incorrect string value: '****.' for column ***

因为在本地开发一直是使用的sqlite数据库,随时删除和重建,当信心满满的将本地全部测试通过的代码部署到服务器跑单元测试的时候却出现了一堆测试不通过的例子,发现都实在创建数据的时候提示Incorrect string value: '****.' for column ***,google了好久,也有人说是数据库编码的问题,可是我一直是create database *** default character set utf8这样创建数据库的啊,而且正常的生成数据,不是测试状态的时候就没问题。后来仔细看了看django的调试页面,发现一个隐藏的设置项目,TEST_CHARSET,然后指定它为utf8就好了。

就是这样

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db',        
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '',                      
        'PORT': '',                      
        "TEST_CHARSET": "utf8",
    }
}
    原文作者:virusdefender
    原文地址: https://segmentfault.com/a/1190000000693975
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞