فارسی
باز کردن در Telegram

رشتهٔ گفتگوАлхимия же должна удалять связанную запись из модельки, если у этого релейшена cascade="all, delete-orphan"?

4 پیام · –
🍉
Алхимия же должна удалять связанную запись из модельки, если у этого релейшена 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 · گروه · فناوری
4 169عضو43نویسنده در 30 روز
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما