В сообщении об ошибке упоминается, что нарушение ограничений внешнего ключа.
МОЯ ОШИБКА: sqlalchemy.ex c .IntegrityError: (psycopg2.errors.ForeignKeyViolation) вставка или обновление в таблице "reviews" нарушает внешний ключ ограничение "reviews_book_id_fkey" ДЕТАЛИ: Ключ (book_id) = (770) отсутствует в таблице "обзоры".
МОЙ ЗАПРОС:
db.execute("INSERT INTO reviews (comment, score, user_id, book_id) VALUES (:comment, :score, :user_id, :book_id)", {"comment":comment, "score": score, "user_id": user.id, "book_id": book_id})
db.commit()
МОИ ТАБЛИЦЫ:
ОБНОВЛЕНИЕ: Книги в таблица «книги» существует!
В случае, если проблема может быть в процессе заполнения, вот фрагмент кода о том, как я заполнил таблицу «книги»:
f = open("books.csv")
reader = csv.reader(f)
for isbn, title, author, year in reader:
if year != 'year':
db.execute("INSERT INTO books (isbn, title, author, year) VALUES (:isbn, :title, :author, :year)", {"isbn": isbn, "title": title, "author": author, "year": year})
db.commit()
ОБНОВЛЕНИЕ № 2: вот снимок моей таблицы «книги» и идентификатор виден: