4

TypeErrorが発生しています:Unicodeへの強制:文字列またはバッファが必要です、intが見つかりました

これは私のmodels.pyです:

class FollowingModel(models.Model):
    user = models.ForeignKey(User)
    person = models.IntegerField(max_length=20, blank=False)

    def __unicode__(self):
            return self.person

このようなビューでFollowingModelから値を取得すると

g = FollowingModel.objects.all()
g[0] -----> I'm getting that error

def __unicode__(self):として変更してみました

def __unicode__(self):
    return str(self.person)

しかし、役に立たない、それでも私は同じエラーを受け取っています。誰かが私を案内してもらえますか?

ありがとう!

アップデート

>>>g = FollowingModel.objects.all()
>>>g

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 72, in __repr__
return repr(data)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 370, in __repr__
u = unicode(self)
TypeError: coercing to Unicode: need string or buffer, int found
4

1 に答える 1

9

__unicode__メソッドはそれだけを返す必要があります、ユニコード:

def __unicode__(self):
    return unicode(self.person)
于 2012-06-29T12:49:02.313 に答える