原因
def __unicode__(self): return unicode(self.pk)
此处如果没有unicode就会报这个错误,原因就是编码错误
以为是文件开始没有加utf-8导致的,然而加上还是不对 。
见http://stackoverflow.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