【发布时间】:2014-03-24 22:03:42
【问题描述】:
使用 django,我在表中添加了一个新条目。现在我想使用PHPPgAdmin (postgresql) 删除它,但我收到No unique Identifier for this row 错误。有什么问题?
django 自动添加了一个自增主键,所以我不知道是什么问题?
我读了this post,,但没有帮助。如果你仔细观察图片,你会看到主键列标签是id,而不是pk,因为它应该在django中。
编辑:表上没有主键;
但这就是 django 执行的;
python manage.py sql auth
CREATE TABLE "auth_user" (
"id" serial NOT NULL PRIMARY KEY,
"password" varchar(128) NOT NULL,
"last_login" timestamp with time zone NOT NULL,
"is_superuser" boolean NOT NULL,
"username" varchar(30) NOT NULL UNIQUE,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL,
"email" varchar(75) NOT NULL,
"is_staff" boolean NOT NULL,
"is_active" boolean NOT NULL,
"date_joined" timestamp with time zone NOT NULL
)
;
编辑:来自 PHPPgAdmin 的屏幕截图,显示 id 作为主键
【问题讨论】:
-
我假设您的屏幕截图是 PHPPgAdmin。如果您使用
psql运行\d thetablename,输出是什么?它是否显示PRIMARY KEY? -
@CraigRinger:请查看更新。
-
PRIMARY KEY列在表格列之后;检查那里。 -
我将
PRIMARY KEY视为id -
你能从 psql 中删除行吗?如果是这样,这可能是 phppgadmin 中的一个错误(请不要将其与实际的 pgadmin 混淆)。
标签: django postgresql delete-row phppgadmin