العربية
فتح في 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 الرسمي. عن المشروع · الأسئلة الشائعة · حدود الفهرس · إزالة صفحة · الدليل · بحث · كيف نحسب