如何在Django中为foreignkey字段定义__str__方法?

时间:2016-08-04 19:53:02

标签: django django-models

如何为Django中的foreignkey字段定义 str 方法?以下代码不起作用,

class A(models.Model):
    name = models.ForeignKey('B')

def __str__(self):
    return self.name

3 个答案:

答案 0 :(得分:8)

如果您的模型Bname字段,您可以:

def __str__(self):
    return self.name.name

或者您可以尝试在__str__模型中定义B方法。

答案 1 :(得分:1)

@Gocht有正确的答案,目前的代码基本上是调用模型B的 str 方法,这可能是未设置的。

您可以在STR框中引用外键字段,但除非您还在模型A的ModelAdmin上设置list_display,否则如果您需要响应式管理模块,我不会推荐它。

每个页面加载最终会有数千个查询。任何批量删除任务都将成为eggtimers的愿景..

答案 2 :(得分:0)

表'A'具有表'B'的外键,您可以这样定义:

class B(models.Model):
    something=models.CharField(max_length=50)

class A(models.Model):
    name = models.ForeignKey('B')

    def __str__(self):
        return self.name.something