为什么对 django 1.7+ 使用 __unicode__(self) 方法?

Why use __unicode__(self) method for django 1.7+?

我是 django 和 sql 的新手。我正在学习的教程将 def __unicode__(self) 放在每个模型 class 上?这是对 documentation 的引用,但即使阅读后我仍然不明白其目的是什么?

class Project(models.Model):
    name = models.CharField(max_length=300)

    def __unicode__(self):
        return self.name

class Task(models.Model):
    description = models.CharField(max_length=300)
    project = models.ForeignKey(Project)

    def __unicode__(self):
        return self.description

这个想法是,当您打印 {{Project}} 时,您实际上得到的只是一堆没有真正信息的垃圾。

def __Unicode__(self):

这定义了您打印的内容,因此 {{Project}} 将显示对象的描述。哪个对你更有用。