From 631ad47fe8b59ffe2c4b38c10c5e5723082520c2 Mon Sep 17 00:00:00 2001 From: Untone Date: Sat, 26 Apr 2025 15:47:44 +0300 Subject: [PATCH] reaction-by-fix2 --- orm/draft.py | 8 ++------ resolvers/draft.py | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/orm/draft.py b/orm/draft.py index c634e406..33fd5fa4 100644 --- a/orm/draft.py +++ b/orm/draft.py @@ -51,16 +51,12 @@ class Draft(Base): # auto updated_at: int | None = Column(Integer, nullable=True, index=True) deleted_at: int | None = Column(Integer, nullable=True, index=True) - # Переименовываем колонки ID + updated_by: int | None = Column("updated_by", ForeignKey("author.id"), nullable=True) deleted_by: int | None = Column("deleted_by", ForeignKey("author.id"), nullable=True) # --- Relationships --- - # Загружаем этих авторов сразу, т.к. они часто нужны и их немного (обычно 1) - created_by = relationship("Author", foreign_keys=[created_by], lazy="joined", innerjoin=True) - updated_by = relationship("Author", foreign_keys=[updated_by], lazy="joined") - deleted_by = relationship("Author", foreign_keys=[deleted_by], lazy="joined") - + # Оставляем lazy="select" (по умолчанию) для коллекций, будем загружать их через joinedload в запросах authors = relationship(Author, secondary="draft_author", lazy="select") topics = relationship(Topic, secondary="draft_topic", lazy="select") diff --git a/resolvers/draft.py b/resolvers/draft.py index 76ea0223..b3371903 100644 --- a/resolvers/draft.py +++ b/resolvers/draft.py @@ -241,7 +241,7 @@ async def delete_draft(_, info, draft_id: int): draft = session.query(Draft).filter(Draft.id == draft_id).first() if not draft: return {"error": "Draft not found"} - if author_id != draft.created_by and draft.authors.filter(Author.id == author_id).count() == 0: + if author_id != draft.created_by_id and draft.authors.filter(Author.id == author_id).count() == 0: return {"error": "You are not allowed to delete this draft"} session.delete(draft) session.commit()