我是 stackoverflow 和 python\django 的新手。我已经解决了我的问题,但我希望下次我能得到有关如何更快地解决它的帮助。
我有一个非常简单的 python 函数,它将表记录从一个 db 复制到另一个(sql server 到 sqllite)。该表有数百列。当我将模型对象保存到 sqllite 时,django 抛出以下异常:
“utf8”编解码器无法解码字节...
我了解其中一列中的数据对于 utf8 转换存在问题。我想知道的是这是什么列。我尝试了不同的方法,但最终我不得不编写以下代码来找到错误的列:
build = Builds.objects.using('realdb').get(buildid=12524)
n = Builds()
for field in Builds._meta.fields:
val = getattr(build, field.name);
try:
setattr(n, field.name, val)
n.save(using="default")
except:
return HttpResponse(field.name + ": " + val.__str__())
它基本上将列值一一复制到新模型对象,并在遇到错误时停止。下次有没有更好的方法来做到这一点?我尝试在 PyCharm 中打破异常,但它打破了 django 框架本身引发的所有许多异常。
阿隆。