# вот модели
class Author(Base):
__tablename__ = "authors"
id = Column(Integer, primary_key=True)
name = Column(String(50))
books = relationship("Book", secondary="authors_books", back_populates="authors")
class Book(Base):
__tablename__ = "books"
id = Column(Integer, primary_key=True)
book = Column(String(50))
authors = relationship("Author", secondary="authors_books", back_populates="books")
class AuthorBook(Base):
__tablename__ = "authors_books"
author_id = Column(Integer, ForeignKey("authors.id"), primary_key=True, )
book_id = Column(Integer, ForeignKey("books.id"), primary_key=True,)
# 1. добавить автора
author = Author(
name = "author 1"
)
session.add(author)
session.commit()
# тут все понятно
# 2. добавить книгу
book = Book(
book = "book 1"
)
session.add(book)
session.commit()
# тут все понятно
# 3. добавить связь существующему автору с существующей книгой
get_author = session.query(Author).get(1)
get_book = session.query(Book).get(1)
author_book = AuthorBook(
author_id = get_author.id,
book_id = get_book.id
)
session.add(author_book)
session.commit()
# тут все понятно
# 4. добавить автора и связать его с существующей книгой
# и вот тут начинаются сложности: надо создать связь между моделью Author & AuthorBook > добавляю связь в модель Author (этот вариант работает, но как-то со крипом, кажется (если есть вариант корректнее, буду рад его увидеть))
class Author(Base):
__tablename__ = "authors"
id = Column(Integer, primary_key=True)
name = Column(String(50))
books = relationship("Book", secondary="authors_books", back_populates="authors")
# добавляю связь
authors_books = relationship("AuthorBook")
author = Author(
name = "author 2"
)
get_book = session.query(Book).get(1)
author_book = AuthorBook(
book_id = get_book.id
)
author.authors_books.append(author_book)
session.add(author)
session.commit()
# 5. создать автора, книгу и связать добавить их во все модели — как это надо сделать?
если это текст, то пусть он при onfocus() приобретает нормальную контрастность, а при onblur() пусть становится бледнымЭто перебор. Я бы постарался свалить с сайта с таким эффектом максимально быстро.