多个到一个字段的Django __str__函数没有返回正确的输出

时间:2016-09-29 15:32:11

标签: python django django-admin

我正在尝试为模型A和D定义__str__函数,以便在管理站点中具有人类可读文本。问题出在模型D的__str__函数中,其中__str__将返回many_to_one相关字段,它不会按预期返回格式,而只是显示默认的'D对象'。

class A(models.Model):
    b = models.CharField(max_length = 32)
    c = models.CharField(max_length = 32)

    def __str__(self):
        return '%s %s' % (self.b, self.c)

class D(models.Model):
    e = models.ForeignKey(A)

    def __str_(self):
        return '%s %s' % (self.e.b, self.e.c)

1 个答案:

答案 0 :(得分:2)

你的方法名称中有一个拼写错误。您写的__str_()应为__str__()。因此,当您在模型上调用str()时,它会从父类调用继承的__str__()方法。