Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 我的postgres数据库中有600条记录,现在当我从django it插入时';正在生成主复制错误_Python_Django_Database_Postgresql - Fatal编程技术网

Python 我的postgres数据库中有600条记录,现在当我从django it插入时';正在生成主复制错误

Python 我的postgres数据库中有600条记录,现在当我从django it插入时';正在生成主复制错误,python,django,database,postgresql,Python,Django,Database,Postgresql,我已经直接从postgresql向表中插入了数据。现在,当我尝试从django应用程序插入数据时,它会生成主键复制错误。我如何解决这个问题 运行 python manage.py sqlsequencereset[app\u name] 和对数据库中所需的表SQL语句执行所有或仅执行一个以重置序列 说明: 您可能已经插入了主键,而不是让postgresql自动生成ID。这没关系 这意味着,用于获取下一个可用id的内部Postgresql序列具有旧值。您需要使用sequence以表中存在的最大i

我已经直接从postgresql向表中插入了数据。现在,当我尝试从django应用程序插入数据时,它会生成主键复制错误。我如何解决这个问题

运行

python manage.py sqlsequencereset[app\u name]

对数据库中所需的表SQL语句执行所有或仅执行一个以重置序列


说明:

您可能已经插入了主键,而不是让postgresql自动生成ID。这没关系

这意味着,用于获取下一个可用id的内部Postgresql序列具有旧值。您需要使用sequence以表中存在的最大id开始


Django
manage.py
有一个专门用于此目的的命令—可以在db中执行打印sql来重置序列。

我认为问题不在数据库中。请检查您的django代码可能您使用的是get_或_create

是否插入具有相同主键的数据?问题真的太广泛了。你们有一些代码可以共享(模型)吗。您还可以共享用于插入数据库的代码吗?主键是自动生成的@favoretticlass TblProduct(models.Model):productType=models.CharField(max_length=16,blank=True,null=True)productName=models.CharField(max_length=500)我已经运行了这个命令,但仍然存在相同的复制错误。在postgresql表和django模型中,两者都具有自动递增功能,这就是它生成错误的原因。当我从django应用程序插入数据时,id从1开始,并且在我的表中id=1已经存在。您是否在postgresql cli中运行由
python manage.py sqlsequencereset[app_name]
打印的结果?我也从django管理面板插入,但重复错误相同。但我用get max id临时解决了这个问题,然后在上面添加了一个。从数据库中删除重复的数据,并查看是否有pk为0的数据?