Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django Heroku和postgresql_Python_Django_Postgresql_Heroku - Fatal编程技术网

Python Django Heroku和postgresql

Python Django Heroku和postgresql,python,django,postgresql,heroku,Python,Django,Postgresql,Heroku,我是在heroku上发布django应用程序的新手。 我读过他们的教程,我想我应该从修改他们的教程开始 到目前为止一切都很好 然后我制作了一个应用程序,制作了一个模型,然后运行 python3 manage.py makemigrations my_app python3 manage.py migrate 事情似乎还不错 然后我推到heroku,没有立即的抱怨 但是,现在当我尝试保存新模型时,出现了以下错误: ProgrammingError at /my_app/ relation "my

我是在heroku上发布django应用程序的新手。 我读过他们的教程,我想我应该从修改他们的教程开始

到目前为止一切都很好

然后我制作了一个应用程序,制作了一个模型,然后运行

python3 manage.py makemigrations my_app
python3 manage.py migrate
事情似乎还不错

然后我推到heroku,没有立即的抱怨

但是,现在当我尝试保存新模型时,出现了以下错误:

ProgrammingError at /my_app/
relation "my_app_myappmodel" does not exist
LINE 1: INSERT INTO "my_app_myappmodel" ("field1", "field2", "field3") VALUES...
奇怪的

所以我在本地运行,一切正常

我尝试过清理我的迁移,假装我的迁移,挤压我的迁移,等等(正如其他S.O.帖子所建议的)

什么都不管用


出现了什么问题以及如何修复?

一旦推送了由
makemigrations
生成的代码,您需要在Heroku上实际运行迁移。您可以通过heroku run manage.py migrate执行此操作

从终端运行以下命令

heroku run python manage.py migrate
或者,您也可以执行以下操作:

在本地
settings.py
中,将
数据库更改为使用heroku变量,然后从终端运行

python manage.py makemigrations
python manage.py migrate

但是您通常不应该在本地对heroku生产数据库进行更改(如选项2),除非您真的非常绝望或不在乎迁移了多少次,您可以在这里添加代码吗?@BearBrown这只是您运行“迁移”的初始值在heroku实例上?@AamirAdnan这与在本地运行migrate和推动git repo有何不同