我在django应用程序中创建了一个模型,并从pgadmin将数据填充到表中,但现在当我试图从应用程序创建记录时,它抛出了这个完整性错误:
重复的键值违反了唯一约束“packsapp_foo_pkey”
详细信息:键(id)=(4)已经存在。
这是models.py
class foo(models.Model):
a = models.CharField(max_length=500, default=0)
b = models.EmailField(max_length=500, default=0)
c = models.CharField(max_length=500, default=0)
d = models.CharField(max_length=500, default=0)
我是否总是必须从应用程序本身插入数据?
Views.py
class ProductFormView(CreateView):
model = Product
form_class = Productaddform
template_name = 'packsapp/employee/employeeProductForm.html'
def form_valid (self, form):
product = form.save(commit=False)
print("user ", self.request.user.id)
product.product_owner = Employee.objects.filter(user = self.request.user.id)[0]
product.save()
messages.success(self.request, 'The product was created with success! ')
return redirect('employee:products_table')
同意布鲁诺的评论,你的主键序列不同步。要解决此问题,请在PG控制台中运行以下命令:
SELECT setval(pg_get_serial_sequence('packsapp_foo', 'id'), max("id")) FROM "packsapp_foo";
要在数据库中手动输入值,请确保调用<code>nextval(
INSERT INTO packsapp_foo
(id, a, b, c, d)
VALUES
(next_val(pg_get_serial_sequence('packsapp_foo', 'id')), ...);
这同样适用于表列上可能存在的任何其他序列。有关更新序列,请参阅Postgres Docs
我有一个Django模型,其定义类似于以下内容: 起初,约束并不存在;我刚刚添加了它,并运行了。这导致了以下迁移(): 然而,当我尝试< code > python manage . py migrate 时,我得到以下错误: django.db.utils.Integrity错误:重复的键值违反了唯一约束“django_migrations_pkey”详细信息:键 (id)=(326) 已存在。
遇到了一点问题,当我运行''时,我收到了上述错误消息,我正在一个相当旧的站点上工作。它'运行带有postgres DB的django 1.2.6。 运行没有安装南,我设法让它工作。运行pythonmanage.py模式迁移-初始contact_enquiries运行良好并要求我迁移。然后我运行pythonmanage.py迁移contact_enquiries然后我得到了与上述相同的错误。 它没有
问题内容: 我正在跟着我先前提出的一个问题,在这个问题中,我试图寻求从愚蠢/编写不佳的mysql查询到postgresql的转换。我相信我成功了。无论如何,我正在使用从mysql数据库手动移动到postgres数据库的数据。我正在使用如下查询: 我有理由相信这很好。但是,这导致了新问题。尝试提交时,我从django收到一条错误,指出: 我已经看过这里发布的一些回复,但是我还没有找到解决我的问题的方
我必须交换同一表的不同行的属性。 有一列“reference_id”在 DB 中具有唯一的约束。 代码: A 级- B级- 异常跟踪:
我有一个笑话模型: 现在,当我试图迁移最后一行时,我得到了错误。基本上,我想将一个用户链接到Joke对象,因为我已经有了一个数据库,所以我希望默认值为1,这是管理员用户的id(我检查过了...).Makemigrations工作正常,但是当我尝试迁移时,我得到了这个: 我真的不明白怎么了。有什么想法吗?