无法获取正在打印的QuerySet类对象查询

时间:2017-05-31 21:54:18

标签: python database python-3.x override

所以出于某种原因,我不知道为什么,但我得到了

>>> song = Song()
>>> song.album = album1
>>> song.file_type = 'mp3'
>>> song.song_title = ' I hate my boyfriend'
>>> song.save()
>>> song.song_title = ' I love my boyfriend'
>>> song.save()
>>> album1.song_set.all()
<QuerySet [<Song: Song object>, <Song: Song object>]>

而不是歌曲的名称。

在我的代码中,我有一个重载str方法,它似乎没有工作。 有什么想法吗?

class Song(models.Model):
    album = models.ForeignKey(Album, on_delete=models.CASCADE)
    file_type = models.CharField(max_length=10)
    song_title = models.CharField(max_length=250)

    def __str__(self):
        return self.song_title

1 个答案:

答案 0 :(得分:0)

您应该覆盖隐式控制台打印的 __repr__ 方法,__str__用于格式化和print调用。