2016-09-21 2 views
0

Я столкнулся с этой ошибкой при миграции. Есть ли способ сохранить данные в моей базе данных. Я знаю, что удаление таблицы auth_user исправит проблему. Я запускаю postgresql. Спасибо!Ключ ошибки (user_id) = (1) отсутствует в таблице «auth_user» при переносе

FATAL ERROR - The following SQL query failed: ALTER TABLE "api_poi" ADD CONSTRAINT "user_id_refs_id_20f256ff" FOREIGN KEY ("user_id") REFERENCES "auth_user" ("id") DEFERRABLE INITIALLY DEFERRED; 
The error was: insert or update on table "api_poi" violates foreign key constraint "user_id_refs_id_20f256ff" 
DETAIL: Key (user_id)=(1) is not present in table "auth_user". 
+0

@Sagar Я предполагаю, что вы знаете, что таблица не содержит данных, которые необходимы, поскольку вы предлагаете удалить все оттуда? Было бы полезно упомянуть об этом. –

+0

Удаление 'auth_user' не помогло бы, так как у вас все еще будет таблица' api_poi', которая ссылается на таблицу. Вы можете удалить строки, которые ссылаются на пользователей, не найденных в базе данных, а затем ограничение будет успешным. –

+0

Но по таблице poi нет строк, которые ссылаются на пользователей –

ответ

1

Существует ряд в api_poi, который имеет user_id значение 1, но нет строки в auth_user, который имеет id набор к 1.

Так что невозможно определить ограничение внешнего ключа, как вы пытаются сделать.

Вам нужно будет добавить строки в auth_user или удалить строки с api_poi до тех пор, пока ограничение внешнего ключа не будет выполнено.

Смежные вопросы