Используя django, я добавил новую запись в свою таблицу. Теперь я хочу удалить его с помощью PHPPgAdmin (postgresql)
, но получаю ошибку No unique Identifier for this row
. В чем проблема?
django автоматически добавляет первичный ключ с автоинкрементом, поэтому я не могу понять, в чем проблема?
Я прочитал это сообщение, но это не помогло . Если вы внимательно посмотрите на изображение, то увидите, что метка столбца первичного ключа — 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
в качестве первичного ключа
psql
для запуска\d thetablename
, что получится? Он показываетPRIMARY KEY
? - person Craig Ringer   schedule 25.03.2014PRIMARY KEY
указывается после столбцов таблицы; проверьте там. - person Craig Ringer   schedule 25.03.2014PRIMARY KEY
какid
- person eagertoLearn   schedule 25.03.2014psql
, поэтому я не уверен, что посоветовать отсюда. - person Craig Ringer   schedule 25.03.2014pk
— это псевдоним, который всегда указывает на первичный ключ, независимо от того, называется ли онid
или как-то еще; именно поэтому его рекомендуется использовать. Какой именно запрос вы выполняете? - person Burhan Khalid   schedule 25.03.2014