我正在尝试为模型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)
答案 0 :(得分:2)
你的方法名称中有一个拼写错误。您写的__str_()
应为__str__()
。因此,当您在模型上调用str()
时,它会从父类调用继承的__str__()
方法。