【问题标题】:Heroku duplicate key value violates unique constraint (django)Heroku重复键值违反唯一约束(django)
【发布时间】:2020-09-03 19:07:44
【问题描述】:

今天我第一次在 Heroku 上部署了我的 django 应用程序(遵循this 教程)。

问题是当我想修改或添加一些东西到数据库时,我得到一个完整性错误,上面写着:

duplicate key value violates unique constraint "app_professore_pkey"

Professore 是我尝试修改的模型的名称。

我在网上搜索了一下,发现这可能是因为我在 PC 上使用 SQLite 开发了该应用程序,而现在在 Heroku 上,它使用 PostgreSQL,这两个数据库的工作方式不同。 实际上,我对数据库没有太多经验(几乎没有经验),所以我不知道如何解决这个问题......也许在 Professore 模型上修改一些东西?或者在 Heroku 控制台中输入内容?

This is the error screen I get,如果你需要它来帮助我:)

提前致谢,如果我有不清楚的地方请告诉我(我也是 StackOverflow 的新手)

【问题讨论】:

    标签: python django heroku


    【解决方案1】:

    您需要在 Postgres 中重新同步您的主键字段。

    您可以通过此命令访问您的数据库

    python manage.py dbshell

    只检查表名 your_database_name=# \dt

    执行下面的命令

    SELECT setval('table_name_id_seq', (SELECT MAX(id) FROM table_name)+1);
    

    【讨论】:

    • 谢谢你,你知道我在哪里可以找到 your_database_nametable_name_id_seqtable name 在 Heroku 上吗?
    • 要访问db运行python manage.py dbshel​​l,你会来到db,然后输入\dt,你会在控制台上得到所有的表名。
    猜你喜欢
    • 2016-06-12
    • 2016-11-27
    • 2018-03-14
    • 2012-12-31
    • 2011-06-26
    • 2012-06-20
    • 2019-09-22
    • 2018-08-26
    相关资源
    最近更新 更多