我直接将数据从postgresql插入表中。现在,当我尝试从Django应用程序插入数据时,它会生成主键复制错误。我该如何解决这个问题?
答案 0 :(得分:0)
运行
python manage.py sqlsequencereset [app_name]
和执行或全部执行数据库中所需表SQL 语句的一个或全部,以重置序列。
说明:
您可能插入了已经存在的主键,而不让postgresql自动生成ID。没关系。
这意味着用于获取下一个可用ID的内部Postgresql序列具有旧值。您需要休息一下才能从表中显示的最大id开始。
Django manage.py
具有仅用于此目的的命令-print sql one可以在db中执行以重置序列。
答案 1 :(得分:0)
我认为问题不在数据库中。请检查您的Django代码,可能您使用的是get_or_create