如何为Django中的foreignkey字段定义 str 方法?以下代码不起作用,
class A(models.Model):
name = models.ForeignKey('B')
def __str__(self):
return self.name
答案 0 :(得分:8)
如果您的模型B
有name
字段,您可以:
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