0

ssh サーバーで django プロジェクトを実行すると、次のエラーが発生しました。

coercing to Unicode: need string or buffer, User found.

これは私のmodels.pyファイルです

class Employee(models.Model):
user = models.OneToOneField(User)
address = models.CharField(max_length=200, blank=True)
name = models.CharField(max_length=200, blank=True)
designation = models.CharField(max_length=20, blank=True, choices=
DESIGNATION_CHOICES)
project = models.CharField(max_length=50, blank=True)
task = models.CharField(max_length=50, blank=True)
image = models.ImageField(upload_to="media/images/", blank=True)

def __unicode__(self):
    return self.user

ここでのエラーは何ですか?

4

1 に答える 1

2

Aは、エラーが既に伝えているように、ユニコードに強制できないOneToOneFieldユーザーを返します。instanceいくつかの可能な解決策:

def __unicode__(self):
    return str(self.user)  # mind you this isn't gonna be a very useful

def __unicode__(self):
    return self.user.id

def __unicode__(self):
    return self.user.get_full_name()

def __unicode__(self):
    return self.user.username

def __unicode__(self):
    return self.user.get_full_name() or self.user.username

基本的に、ユーザーの任意のメソッドまたは属性を返すことができます

于 2013-05-02T08:23:34.093 に答える