#python #django #heroku
#python #django #heroku
Вопрос:
Сегодня я впервые развернул свое приложение django на Heroku (следуя этому руководству).
Проблема в том, что когда я хочу изменить или добавить что-то в базу данных, я получаю сообщение об ошибке целостности, в котором говорится:
duplicate key value violates unique constraint "app_professore_pkey"
Где Professore — это имя модели, которую я пытался изменить.
Я немного поискал в Интернете и увидел, что, вероятно, это связано с тем, что я разработал приложение на своем ПК с использованием SQLite, а теперь на Heroku оно использует PostgreSQL, и эти 2 базы данных работают по-разному. На самом деле, у меня нет большого опыта работы с базами данных (почти нет опыта), поэтому я не знаю, как это исправить… Может быть, что-то изменить в модели Professore? Или вводить что-то в консоли Heroku?
Это экран ошибки, который я получаю, если вам это нужно, чтобы помочь мне 🙂
Заранее спасибо и скажите мне, если я чего-то не понял (я тоже новичок в StackOverflow)
Ответ №1:
Вам необходимо повторно синхронизировать поля первичного ключа в Postgres.
Вы можете получить доступ к своей базе данных с помощью этой команды
python manage.py dbshell
Просто проверьте имя таблицы your_database_name=# dt
выполнение приведенной ниже команды
SELECT setval('table_name_id_seq', (SELECT MAX(id) FROM table_name) 1);
Комментарии:
1. Спасибо, и знаете ли вы, где я могу найти
your_database_name
,table_name_id_seq
иtable name
На Heroku?2. Чтобы получить доступ к базе данных, запустите python manage.py dbshell, вы перейдете в db, затем введите dt, вы получите все имена таблиц на консоли.