如何在django中更新模型字段后从mysql数据库查询数据

mspsb9vt  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(331)

在使用django框架更新mysql数据库中的posts模型字段之后,我无法从数据库中查询posts。每当我运行命令时 python manage.py runserver ,服务器似乎一切正常。但是,在更新model字段之前,当输入post url以显示我上传到数据库上的帖子列表时,我得到 1054, "Uknown column 'start_post.author_id' in the 'field list' 我花了几个小时试图弄明白为什么我会出错,但我还是不明白。在model.py中,我有:

....
title = models.CharField()
preamble= models.Charfield()
body = models.TextField()
....

我将上述模型更新为:

....
title = models.CharField()
author = models.ForeignKey(User, on_delete=models.CASCADE)
introduction = models.charfield()
body = models.TextField()
....

在更新之前,一切正常。但更新后,我无法访问浏览器上的帖子列表,从网址 start\ 以及发布详细信息页面。我在第一个模型中没有author字段,但我将其添加到更新的模型中。我能做些什么来解决这个问题?

nbysray5

nbysray51#

更新模型后,必须运行以下命令:

python manage.py makemigrations

python manage.py migrate

makemigrations命令将检查数据库中的当前模型和python代码中的模型之间的差异。
migrate将真正运行迁移以反映数据库模型的模型。
您可以在关于makemigrations和migrate的django文档中找到关于makemigrations和migrate的更多信息。

相关问题