gpt4 book ai didi

django - python manage.py migrate 不对postgres数据库做任何改动

转载 作者:行者123 更新时间:2023-11-29 11:36:55 24 4
gpt4 key购买 nike

这似乎是一个简单的问题,我不确定我做错了什么。例如,如果我想通过更改在 models.py 中的一个类中添加一个新字段:

class FeedBack(models.Model):
feedback = models.CharField(max_length=600)
user = models.ForeignKey(User,default="")

class FeedBack(models.Model):
feedback = models.CharField(max_length=600)
email = models.CharField(max_length=100)
user = models.ForeignKey(User,default="")

然后我跑

python manage.py makemigrations

python 管理.py 迁移

一切看起来都很好,但实际上数据库中并没有发生任何变化。尝试查看反馈表时,我收到以下异常:

列 IngressoMonitor_feedback.email 不存在

还在表上使用 psql\d+ 显示电子邮件尚未添加

现在我可以只使用 psql 添加和更改表,但我更愿意将它写在 models.py 中,因为这对我来说似乎容易得多。

最佳答案

确保包含该 models.py 文件的应用包含在项目设置文件的 INSTALLED_APPS 中。此外,请不要触摸应用程序迁移文件夹下的文件,除非您确定自己知道自己在做什么。还请确保您的设置文件中指定的数据库帐户具有必要的权限。

如果您最近更改了 Django 版本,这 link可能对你有用。但无论如何都要试一试,在这种情况下按应用程序进行迁移:

python manage.py makemigrations app_name

如果一切都失败了,只需删除数据库的表,然后从头开始重新生成所有内容。但是,如果在某些时候,您弄乱了任何迁移文件,您可能希望在执行 makemigrations 之前删除所有这些文件,以确保您拥有一组新的工作迁移文件,manage.py 可以处理这些文件。

关于django - python manage.py migrate 不对postgres数据库做任何改动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com