添加新数据后丢失旧数据Django Admin

时间:2018-12-15 19:28:39

标签: django

class Song(models.Model):
song_id = models.AutoField(default=1,primary_key=True,editable=False)
file = models.FileField(upload_to=only_filename,null=True,blank=True)
name = models.CharField(max_length=50)
album_id = models.ForeignKey(Album, on_delete=models.CASCADE)
lyric = models.TextField()
cover_imagemodels.ImageField(upload_to="img/",default="img/None/icon.jpg")
listen_time = models.PositiveIntegerField(default=0,editable=False)

def __str__(self):
    return self.name

以上是我的课堂模型。首先,我在Django Admin中登录到超级用户,然后添加一首新歌。成功了 但是,此后,我继续添加另一首歌曲,仅保存了最新的歌曲,而较旧的歌曲消失了。 我使用mysql命令行进行检查,只有最新的一个存在。 如何解决? 对不起,我的英语不好。

1 个答案:

答案 0 :(得分:0)

您绝对不应该在主键字段song_id中设置默认值。该值是在实例化对象时分配的,而适当的序列值-由数据库设置-直到对象被保存时才分配,此时该对象已经具有一个值:1.因此,每个项目都是用相同的主键保存。

只需删除该默认值即可。