我正在尝试向网站添加功能以添加新的歌曲信息。在用户填写song_form.html并尝试提交新歌曲并返回IntegrityError之后,会出现问题。它说NOT NULL约束失败:music_song.album_id。任何帮助,将不胜感激。感谢。
#models.py
class Album(models.Model):
album_title = models.CharField(max_length=500)
artist = models.CharField(max_length=250)
genre = models.CharField(max_length=50)
album_cover = models.FileField()
def __str__(self):
return self.album_title
def get_absolute_url(self):
return reverse('music:detail', kwargs={'pk': self.pk})
class Song(models.Model):
album = models.ForeignKey(Album, on_delete=models.CASCADE)
song_title = models.CharField(max_length=250)
file_type = models.CharField(max_length=50)
def __str__(self):
return self.song_title
#views.py
class CreateSong(generic.CreateView):
model = Song
fields = ['song_title', 'file_type']
答案 0 :(得分:0)
你的意思是要求专辑吗?如果是这样,你需要将它作为一个字段添加到你的歌曲表单中,但如果没有,你需要将你的外键约束声明为可为空:如下所示:
album = models.ForeignKey(Album, on_delete=models.CASCADE, blank=True, null=True)
(记得为应用程序进行迁移,然后在更改后进行迁移)