У меня есть следующий код в PostgreSQL/SQLAlchemy.Загрузка данных навалом в таблицу postgreSQL, которая имеет ForeignKey с использованием SQLAlchemy
def load_books():
with open('C:\\Users\\books_raw.csv', 'r') as file:
for line in file.readlines():
record = line.split('$') # split at delimiter
book_isbn = record[0].strip('"')
book_title = record[1]
book_authors = record[2]
book_avg_rating = record[2]
book_format = record[4]
book_img_url = record[5]
book_num_pages = record[6]
book_pub_date = record[7]
book_publisher = record[8].strip() # ESTABLISH RELATIONSHIP
book = Books(title=book_title, isbn=book_isbn, authors=book_authors, avg_rating=book_avg_rating, format=book_format,
img_url=book_img_url, num_pages=book_num_pages, pub_date=book_pub_date, publisher=Publication(name=book_publisher))
session.add(book)
session.commit()
count = session.query(Books).count()
print(count, ' books added to the database')
Моя проблема была связана с отношениями. Если вы видите эту часть кода:
publisher=Publication(name=book_publisher))
здесь я не хочу, запись будет вставлена в таблицу, а просто установить связь с существующей записью в главной таблице. Любые идеи, как я могу это достичь?
спасибо. Я получил ответ. запросил строку из основной таблицы через переменную экземпляра, а затем обратился к первому_имя (id) из экземпляра. использовал это как отношение – Hara