django admin中保存添加的数据提示need string or buffer, int found

时间:2023-03-09 05:39:48
django admin中保存添加的数据提示need string or buffer, int found

原因

def __unicode__(self):
return unicode(self.pk)

此处如果没有unicode就会报这个错误,原因就是编码错误

以为是文件开始没有加utf-8导致的,然而加上还是不对 。

见http://*.com/questions/5345400/django-coercing-to-unicode-need-string-or-buffer-int-found

再细看:

__unicode__() 方法可以进行任何处理来返回对一个对象的字符串表示
这里是默认的,所以你不是字符串就会出错,改成str()试试

事实证明也是可以的

参考见:http://www.cnblogs.com/wenjiashe521/archive/2012/12/24/2831196.html