【问题标题】:How to Query data from MySQL database after updating model field in Django如何在 Django 中更新模型字段后从 MySQL 数据库中查询数据
【发布时间】:2021-04-06 21:54:44
【问题描述】:

使用 Django 框架更新 MySQL 数据库中的帖子模型字段后,我无法从数据库中查询帖子。每当我运行命令python manage.py runserver 时,服务器似乎一切正常。但是,当输入帖子网址以显示我在更新模型字段之前上传到数据库的帖子列表时,我得到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()
....

在更新之前,一切正常。但是在更新它之后,我无法从 url start\ 以及帖子详细信息页面访问浏览器上的帖子列表。我在第一个模型中没有作者字段,但我将其添加到更新的模型中。我该怎么做才能解决这个问题?

【问题讨论】:

  • 您提供的内容不足以给出答案。您需要提供视图模板和相关详细信息

标签: python mysql django database model-view-controller


【解决方案1】:

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

python manage.py makemigrations

python manage.py migrate
  • makemigrations 命令将检查数据库中的当前模型与 python 代码中的模型之间的差异。

  • migrate 将真正运行迁移以反映您的模型与数据库模型。

你可以在django documentation about makemigrations and migrate找到更多关于makemigrations和migrate的信息。

【讨论】:

  • 更新后我运行了两个命令,迁移成功
猜你喜欢
  • 2021-04-08
  • 2021-04-06
  • 2021-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 2013-09-04
  • 1970-01-01
相关资源
最近更新 更多