Django-Postgres 完整性错误:重复密钥 --- 如何修复?

2024-03-18

添加模型的新实例时出现完整性错误,这是回溯:

Traceback:
File "/home/robain/webapps/django/lib/python2.6/django/core/handlers/base.py" in get_response
  100.                     response = callback(request, *callback_args, **callback_kwargs)
File "/home/robain/webapps/django/lib/python2.6/django/contrib/admin/views/decorators.py" in _checklogin
  33.             return view_func(request, *args, **kwargs)
File "/home/robain/webapps/django/tmanage/tempManage/src/CTmanage.py" in addCT
  101.             CT.save()
File "/home/robain/webapps/django/lib/python2.6/django/db/models/base.py" in save
  434.         self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/home/robain/webapps/django/lib/python2.6/django/db/models/base.py" in save_base
  527.                     result = manager._insert(values, return_id=update_pk, using=using)
File "/home/robain/webapps/django/lib/python2.6/django/db/models/manager.py" in _insert
  195.         return insert_query(self.model, values, **kwargs)
File "/home/robain/webapps/django/lib/python2.6/django/db/models/query.py" in insert_query
  1479.     return query.get_compiler(using=using).execute_sql(return_id)
File "/home/robain/webapps/django/lib/python2.6/django/db/models/sql/compiler.py" in execute_sql
  783.         cursor = super(SQLInsertCompiler, self).execute_sql(None)
File "/home/robain/webapps/django/lib/python2.6/django/db/models/sql/compiler.py" in execute_sql
  727.         cursor.execute(sql, params)
File "/home/robain/webapps/django/lib/python2.6/django/db/backends/util.py" in execute
  15.             return self.cursor.execute(sql, params)
File "/home/robain/webapps/django/lib/python2.6/django/db/backends/postgresql_psycopg2/base.py" in execute
  44.             return self.cursor.execute(query, args)

Exception Type: IntegrityError at /tempManage/addCT/13/34/
Exception Value: duplicate key value violates unique constraint "tempManage_childtemplate_previewPath_key"

我认为密钥的自动增量与实例 ID 不同步(根据其他帖子猜测),但我不确定如何修复它。任何帮助将非常感激!

编辑:询问模型,这是错误产生的模型。然而它已经运行了一段时间没有任何问题,所以它不太可能是在模型定义中引起的......

类 ChildTemplate(models.Model):

def get_CTswf_path(self, filename):
    return os.path.join('swf', 'Company_' + str(self.father.company.id), "FT_" + str(self.father.id), 'CT_' + str(self.id), filename)

father = models.ForeignKey('FatherTemplate', unique=False, verbose_name='Father', blank=True, null=True)
childName = models.CharField(max_length=20, blank=False, verbose_name='Child Name')
location = models.ForeignKey(Location, unique=False, blank=True, null=True)
company = models.ForeignKey(Company, unique=False, blank=True, null=True)
isCorporate = models.BooleanField(blank=False, verbose_name='Corporate')
templatePath = models.FileField(upload_to=get_CTswf_path, verbose_name='Path', blank=True, null=True)
previewPath = models.CharField(max_length=200, blank=True, unique=True)
#migrateTest = models.BooleanField()

def __unicode__(self):
    return self.childName

我之前在加载数据库备份时就遇到过这种情况。不知道为什么 postgres 没有正确更新序列 - 可能遇到了我没有看到的错误 - 但我使用的解决方案是检查主键字段中的最大值,然后从(手动)附加到它的序列,以将该序列放在正确的位置。

您可以从命令行客户端列出数据库中的所有序列(psql) with \ds。可能有一个名字类似tempManage_childtemplate_previewPath_id_seq.

像这样的东西应该有效。在手动更改数据库之前先备份它!

SELECT max(id) FROM <model_table>;
SELECT * FROM tempManage_childtemplate_previewPath_id_seq;

ALTER SEQUENCE tempManage_childtemplate_previewPath_id_seq RESTART WITH <result of above>;

刚刚意识到,您可能还想查看序列中已有的内容,因此我也在上面添加了一个选择。查看last_value entry.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django-Postgres 完整性错误:重复密钥 --- 如何修复? 的相关文章

  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字
  • 为什么我的 postgis 不在几何字段上使用索引?

    Windows 上的 postgresql 9 5 postgis 2 2 我首先创建一个表 CREATE TABLE points id SERIAL ad CHAR 40 name VARCHAR 200 然后 添加一个几何字段 geo
  • 在 docker 中将 pgadmin 连接到 postgres

    我有一个docker compose与服务文件python nginx postgres and pgadmin services postgres image postgres 9 6 env file env volumes postg
  • JPA 和 PostqreSQL:长字符串持久化

    谁能告诉我如何使用 JPA 保存长文本 我使用 PostgreSQL 这是我在类中定义很长字符串的方法 Lob private String body 然而 这会产生一个类型的字段字符变化 255 在数据库中 此外 我尝试使用 Column
  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • 在 Redis 上为 Django 和 Express.js 应用程序共享会话存储

    我想创建一个包含一些登录用户的 Django 应用程序 另一方面 由于我想要一些实时功能 所以我想使用 Express js 应用程序 现在的问题是 我不希望身份不明的用户访问 Express js 应用程序的日期 因此 我必须在 Expr
  • Serializer.is_valid() 虽然 `required=False` 失败 - Django REST Framework

    我有一个像这样的序列化器 class DataSetColumnSerializer serializers ModelSerializer custom target serializers PrimaryKeyRelatedField
  • 如何使用表内的 JSONB 数据类型和 PostgreSQL JDBC 驱动程序将 JSON 对象存储到 PostgreSQL 中

    我想将以下 json 对象保存到 PostgreSQL 数据库表中as jsonb fname john lname doe 我当前使用 PGObject 创建对象并将类型设置为 jsonb 并将值作为 json 字符串传递 寻找更好的 m
  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • 跨应用程序使用 Django 模型?

    因此 在我的 Django 项目中 我有几个不同的应用程序 每个应用程序都有自己的模型 视图 模板等 让这些应用程序进行通信的好方法 Django 方式 是什么 一个具体的例子是一个会议应用程序 它有一个会议模型 我有一个家庭应用程序 我想
  • Postgres:显示继承的字段

    我应该实现什么查询来获取继承的列 读过this http www alberton info postgresql meta info html综合帖子没有找到解决办法 如果我理解正确的话 您想知道作为表之间继承的一部分的列的名称 SELE
  • Django 中从 sqlite 迁移到 postgresql

    我想迁移自sqlite to PostgreSQL db 我安装了 postgresql 并在其 shell 上创建数据库 然后配置我的 django 设置如下 default ENGINE django db backends postg
  • Django 在 rss feed 中指定频道图像的方式

    在 rss feed 中指定频道图像的 django way 是什么 我可以通过滚动我自己的 xml 来手动完成此操作 但我正在寻找一种正确的方法来完成此操作 Editdobrych 的解决方案在这里不太适用 因为我具体询问的是 RSS 而
  • Google App Engine Flexi 上 Django 的 Postgres 设置

    我正在尝试在应用程序引擎灵活环境中使用 postgres 设置 django 我按照这里的说明进行操作 https cloud google com appengine docs flexible python using cloud sq
  • pg_dump 没有对象注释?

    有没有办法执行 pg dump 并排除表 视图和列的 COMMENT ON 我广泛使用 COMMENT ON 命令来描述所有对象 并且经常在其中包含换行符以获得更清晰的描述 例如 COMMENT ON TABLE mytable1 IS M
  • 从 Django 调用 Postgres SQL 存储过程

    我正在开发一个带有 Postgresql 数据库的 Django 项目 我编写了一个可以在 Postgres 上完美运行的存储过程 现在我想从 Django 1 5 调用该存储过程 我已经编写了代码 但它提示错误 CREATE FUNCTI
  • Postgres JSON 数据类型 Rails 查询

    我正在使用 Postgres 的 json 数据类型 但想要使用嵌套在 json 中的数据进行查询 排序 我想在 json 数据类型上使用 where 进行订购或查询 例如 我想查询关注者数量 gt 500 的用户 或者我想按关注者或关注数
  • 将 python 字典中的数据呈现给 django 模板。

    我有一本字典 data sok 1 10 sao 1 10 sok sao 2 20 我如何 循环字典 将我的数据作为 HTML 表呈现给 Django 模板 这种格式为表格 author qty Amount sok 1 10 sao 1
  • 如何在 Django 中使我的模型字段可选?

    我正在尝试遵循底部的完整示例 https docs djangoproject com en dev topics auth customizing https docs djangoproject com en dev topics au

随机推荐

  • 如何使用 python 解析 json 对象?

    我正在尝试解析 json 对象并遇到问题 import json record shirt red quanitity 100 blue quantity 10 pants black quantity 50 inventory json
  • 为什么 JavaScript 展开表示法在这里不起作用

    我正在学习 React 有一个我无法解决的简单问题 我创建了一个代码沙盒 https codesandbox io s react dropzone sha256 5ngg7 file src FileUpload js 在图像中 file
  • 在 ArrayController 模型的过滤子集上设置 itemController

    问题摘要 虽然我可以让集合的子级 在 ArrayController 上定义 为个体使用特定的对象控制器 但这不适用于已过滤的子级子集 简短的上下文 我有订阅 其中有项目 我想按类型过滤视图中的订阅 并让这些订阅中的项目按时间戳排序 这是订
  • 在 R 中按组引导结果向量

    Question 如何使用引导程序来获取一组数据的置信区间 根据协方差矩阵的特征值计算的统计数据 分别为 数据框中的每个组 因子水平 Problem 数据不太清楚 结构我需要包含这些适合的结果boot函数 或者一种在组上 映射 引导程序并以
  • 如何验证 DataGridView 输入?

    我有一些严重的问题数据网格视图输入验证 我正在使用实体框架开发一个项目 并且我已经绑定了数据网格视图元素到数据库 如果用户将一些数据插入到不可为空的列中 然后清除数据以使该列留空 然后单击另一个数据网格视图单元格时 发生异常并且出现运行时错
  • 使用 Python/Pandas 对非系统/排列数据进行平均和绘制

    我有一个非系统 整理的数据如下 x y 0 049098 82854 2105263158 0 049058 82472 2368421053 0 066427 84358 3421052632 0 066465 83842 9210526
  • WPF:禁用选项卡控件上的箭头键

    我在应用程序中使用 WPF TabControl 以便在程序的不同区域 功能之间切换 不过有一件事让我很恼火 我隐藏了选项卡 这样我就可以控制选定的选项卡 而不是用户 然而 用户仍然可以使用箭头键在选项卡之间切换 我尝试过使用 Keyboa
  • 如何列出 FastAPI 中所有定义的 URL 路径?

    假设我有一个包含 100 多个 API 端点的 FastAPI 项目 如何列出所有 API 路径 为了获取所有可能的 URL 模式 我们需要访问定义的 URL 路由这是正在运行的应用程序实例的一个属性 我们至少可以通过两种方式做到这一点 U
  • 你的 Nvarchar() 有多大

    设计数据库时 在决定 nvarchar 应该有多大时 您会考虑哪些决定 如果我要制作一个地址表 我的直觉反应是地址行 1 为 nvarchar 255 就像旧的访问数据库一样 我发现使用这个让我对旧的 字符串将被截断 感到烦恼 我知道可以通
  • 在 C# 中返回 SortedList 中的第一个元素

    我有一个SortedList在 C 中 我想返回列表的第一个元素 我尝试使用 First 功能 但它并没有真正起作用 有人可以告诉我该怎么做吗 对彼此而言SortedList https learn microsoft com en us
  • angularjs 禁用 $http/$q 调用上的按钮

    遵循 DRY 原则 我想编写一个按钮指令 在 http 类的持续时间内保持按钮禁用 我想这样做是为了禁止用户多次单击按钮 但我无法考虑如何在指令内获取函数承诺状态 因为该函数驻留在 scope 上 这个场景非常通用 按钮 ng click
  • WebDriverWait + 搜索项目

    创建激活码后 需要 1 60 秒的时间将代码上传到系统中 因此 在创建新代码后 我想使用 WebDriverWait 60 秒来确保在这段时间内每 3 秒我想单击 搜索 按钮 有什么办法可以做到这一点吗 new WebDriverWait
  • 安全、密码学:愚蠢的挑战 - 响应协议?

    好吧 大家只是一个小游戏 我有一个项目的一些规格 在某些时候 他们要求以下内容通过网络加密密码 并称这是一个质询响应协议 CLIENT SERVER 1 ask for challenge gt 2 lt send SHA1 taken f
  • Safari 错误未定义不是对象

    我在这里阅读了一些关于我的问题的帖子 但我不知道如何将其应用到我的代码中 因为我不使用数组或其他对象 在 Safari 中我收到此错误 TypeError undefined is not an object evaluating rela
  • 是否可以使用 WIX 创建多语言安装程序?

    是否可以使用 WIX 创建多语言安装程序 如果您创建嵌入式转换 则无需引导程序即可执行此操作 并且 MSI 安装程序将根据您的系统区域设置自动应用其中之一 有关完整的详细信息和脚本 请点击以下链接 http www geektieguy c
  • 无法将“%26”传递到 WCF 服务中的 WebGet UriTemplate 变量?

    我有一个带有此声明操作的 WCF 服务 WebGet UriTemplate Test testString public String Test String testString return testString 但是当尝试调用 UR
  • 了解filterM

    Consider filterM x gt True False 1 2 3 我只是无法理解 Haskell 对此的魔力filterM用例 该函数的源码如下 filterM Monad m gt a gt m Bool gt a gt m
  • 从 Java 中的组合框中删除所有项目

    我需要从组合框中删除所有项目 int itemCount combo getItemCount for int i 0 i lt itemCount i combo removeItemAt 0 此代码将删除除最后一项之外的所有项目 它给出
  • 枚举还是表格?

    我正在将其设为社区维基 因为我会欣赏人们的方法 而不一定是答案 我所处的情况是 我有很多查找类型数据字段 这些字段不会改变 一个例子是 年薪选项 0 25K选项 25K 100K选项 100K 我希望通过枚举轻松获得这些选项 但也希望数据库
  • Django-Postgres 完整性错误:重复密钥 --- 如何修复?

    添加模型的新实例时出现完整性错误 这是回溯 Traceback File home robain webapps django lib python2 6 django core handlers base py in get respon