我有一個藝術家,他有很多畫作,所以很多對一的關系。所以我得到了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__()
添加回答
舉報
0/150
提交
取消