错误缩进 def __unicode__(self) 后出现 UnicodeDecodeError: in models.py
UnicodeDecodeError after wrongly indenting def __unicode__(self): in models.py
我在 models.py 中不小心放错了两个 def __unicode__(self):
方法的制表符缩进。 IE。对于两个模型,我做了以下操作:
class Notification(models.model):
recipient = models.OneToOneField(User)
timestamp = models.DateTimeField()
def __unicode__(self):
return "%s recieved a notification" % self.recipient
def
语句与 class 处于同一级别,return
语句缩进,就像方法头正确缩进一样。
我更正了它并投入生产(带有 Heroku 的 Postgres 设置)。如果我在本地(在 SQLite 上)访问管理面板,这些数据模型现在会正确填充。但是如果我尝试访问我的实时应用程序的管理面板,我会收到 500 响应,并且通过 NewRelic,我发现:
exceptions:UnicodeDecodeError
/django.contrib.admin.options:changelist_view
exceptions:UnicodeDecodeError:'ascii' 编解码器无法解码位置 68 中的字节 0xc3:序号不在范围内(128)
我查看了类似的问题,例如 these,但它们似乎不适用于我的情况。 django.contrib.admin.options:changelist_view
是什么,那个错误到底是什么意思。我需要帮助解决这些问题。
p.s。这与使用 Django 1.5 和 Python 2.7
的遗留项目有关
您应该返回一个 Unicode 对象而不是字符串对象。
假设 self.recepient
已经是 Unicode,执行:
return u"%s recieved a notification" % self.recipient
注意 u
我在 models.py 中不小心放错了两个 def __unicode__(self):
方法的制表符缩进。 IE。对于两个模型,我做了以下操作:
class Notification(models.model):
recipient = models.OneToOneField(User)
timestamp = models.DateTimeField()
def __unicode__(self):
return "%s recieved a notification" % self.recipient
def
语句与 class 处于同一级别,return
语句缩进,就像方法头正确缩进一样。
我更正了它并投入生产(带有 Heroku 的 Postgres 设置)。如果我在本地(在 SQLite 上)访问管理面板,这些数据模型现在会正确填充。但是如果我尝试访问我的实时应用程序的管理面板,我会收到 500 响应,并且通过 NewRelic,我发现:
exceptions:UnicodeDecodeError /django.contrib.admin.options:changelist_view exceptions:UnicodeDecodeError:'ascii' 编解码器无法解码位置 68 中的字节 0xc3:序号不在范围内(128)
我查看了类似的问题,例如 these,但它们似乎不适用于我的情况。 django.contrib.admin.options:changelist_view
是什么,那个错误到底是什么意思。我需要帮助解决这些问题。
p.s。这与使用 Django 1.5 和 Python 2.7
的遗留项目有关您应该返回一个 Unicode 对象而不是字符串对象。
假设 self.recepient
已经是 Unicode,执行:
return u"%s recieved a notification" % self.recipient
注意 u