我正在观看关于Django的教程,我一直在跟进,但我注意到我的Django和他之间的细微差别,这可能是因为我有当前的补丁而且他有2016版。问题是我一直在努力专注于项目的音乐应用程序。但每当我创建相册的详细信息,如artist,album_name,genre I,然后将它们保存在shell中。然后检查我重新打开shell并输入Album.objects.all()
并获得四个未指定的对象。
<QuerySet [<Album: Album object (1)>, <Album: Album object (2)>, <Album: Album object (3)>, <Album: Album object (4)>]>
我在models.py文件中写了这行无效
from django.db import models
# RED pk 1
class Album(models.Model):
artist = models.CharField(max_length=100)
album_title = models.CharField(max_length=250)
genre = models.CharField(max_length=50)
album_logo = models.CharField(max_length=1000)
def __str__(self):
return self.album_title + ' - ' + self.artist
# RED fk 1
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)
答案 0 :(得分:-1)
您完成了__str__
方法错误。此代码可能会解决您的问题。
from django.db import models
class Album(models.Model):
artist = models.CharField(max_length=100)
album_title = models.CharField(max_length=250)
genre = models.CharField(max_length=50)
album_logo = models.CharField(max_length=1000)
def __str__(self):
return self.album_title + ' - ' + self.artist
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