从db导入时的Django UnicodeEncodeError

时间:2014-10-21 11:04:30

标签: python django

我有一个自定义管理命令,用于从一个数据库导入数据并从中创建模型实例。基本上是:

class Command(BaseCommand):

    def handle(self, **kwargs):
        cursor = connections['db2'].cursor()
        sql = 'SELECT * FROM table'
        cursor.execute(sql)
        for row in cursor.fetchall():
            my_model = MyModel(*row)
            my_model.save()

首先我从sqlite导入到sqlite,一切顺利。但是当我切换到MySQL作为我的主数据库时,我在调用my_model.save()时开始获取UnicodeEncodeError。需要注意的是,我在db(即俄语)中有非ascii符号,但正如我所知,Django将所有字符串转换为unicode。是的,两个dbs都使用utf-8。

1 个答案:

答案 0 :(得分:0)

似乎错误是由于夹层应用程序,我正在使用 https://github.com/stephenmcd/mezzanine/issues/1132