我在某些模型中遇到了同样的问题 - 基本上在我忘记正确覆盖 unicode 方法的所有模型中。在我的情况下,我首先在 Windows 机器上运行后端,它工作正常,但是当我在 Linux 机器上发布后端时,我在编辑模型时遇到了同样的错误。所以这就是我修复它的方法。首先,模型类以# -*- coding: UTF-8 -*-
(在第一行!)开头。在模型中,我覆盖__unicode__
并返回一个 unicode 字符串。
这可以通过 returnunicode(self.name)
或我如何使用它u'%s' %(self.name)
或u'Name: %s, Value: %s' %(self.name, self.value)
.
如果您return self.name
无法确保返回未编码的字符串,则它不起作用。
这是一个完整的例子:
# -*- coding: UTF-8 -*-
import ... # all imports etc. after the coding: UTF-8 line!
class ModelName(models.Model):
name = models.CharField(max_length=20)
def __unicode__(self):
return u'%s' %(self.name)
希望能帮助到你!
最好的问候,迈克尔