English
Open in Telegram

Thread Алхимия же должна удалять связанную запись из модельки, если у этого релейшена cascade="all, delete-orphan"?

4 messages · –
🍉
Алхимия же должна удалять связанную запись из модельки, если у этого релейшена cascade="all, delete-orphan"? class Post(Base): ... comments = relationship("Comment", back_populates="post", cascade="all, delete-orphan") class Comment(Base) ... post_id = mapped_column(UUID(as_uuid=True), ForeignKey(Post.id)) post = relationship(Post, back_populates="comments") ... for comm in post.comments: session.delete(comm) print("deleted {comm}") session.commit() Тут удаляется коммент из базы, но он всё ещё есть в post.comments. Валится на втором ассерте all_comms = session.scalars(select(Comments)).all() assert deleted_comm not in all_comms assert deleted_comm not in post.comments
  1. A
    как будто бы надо в форен кее прописать каскадное удаление?
    1. 🍉
      надо было post.comments.remove(comment)
      1. 🍉
        только в цикле не желательно это делать
ССообщество Python ПрограммистовСообщество Python Программистов@python_scripts · group · Tech
4 169members43writing in 30 days
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count