我有同样的问题在某些机型 - 基本上在我忘了正确重写方法的unicode所有车型。在我的情况下,我首先在Windows机器上运行后端,这很好,但是当我在Linux机器上发布后端时,编辑模型时出现同样的错误。所以这里是我如何修复它。首先,模型课程以# -*- coding: UTF-8 -*-
开头(在第一行!)。在模型中,我重写__unicode__
并返回一个unicode字符串。
这可以通过返回unicode(self.name)
或我如何使用它u'%s' %(self.name)
或u'Name: %s, Value: %s' %(self.name, self.value)
完成。
它不工作,如果你return self.name
,因为这并不能保证返回unicoded字符串。
这里有一个完整的例子:
# -*- 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)
希望它能帮助!
此致敬礼迈克尔
您是否在该模型中定义了__str__或__unicode__?你覆盖'save()'吗? – Private
是的,我定义了'__unicode__'。 –
谢谢,私人。就是这样。 –