为了账号安全,请及时绑定邮箱和手机立即绑定

Django - 如何显示来自伪造密钥对象的属性(名称)?

Django - 如何显示来自伪造密钥对象的属性(名称)?

长风秋雁 2022-09-20 16:51:56
我有一个艺术家,他有很多画作,所以很多对一的关系。所以我得到了class Artist(models.Model):    name   = models.CharField(max_length=120)    age    = models.IntField()class Paintings(models.Model):    painting         = models.ImageField()    painting_name    = models.CharField(max_length=120, default='', null=True)    artist = models.ForeignKey(       'Artist',       related_name='paintings',       on_delete=models.CASCADE,       verbose_name= 'Künstler'    )现在,如果我根据艺术家创作一幅新的绘画,它不会向我显示艺术家的确切名称,只会显示艺术家对象[id]在我的里面我试图定义admin.pyartist = Artist.name list_display = ('image_tag', artist, 'painting_name')但这是不允许的。那么,如何将艺术家对象(id)替换为艺术家的实际对象(id)呢?name
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

在模型中,必须定义一个函数:Artist__str__

def __str__(self):
  return self.name # Or whatever way you want your Artist to show

这说明了如何打印该对象。Django

来自詹戈文档

__str__()

每当调用对象时,都会调用该方法。詹戈在许多地方使用。最值得注意的是,在Django管理站点中显示对象,并在显示对象时将其作为插入到模板中的值。因此,您应该始终从该方法返回一个漂亮的、人类可读的模型表示形式。__str__()str()str(obj)__str__()


查看完整回答
反对 回复 2022-09-20
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信