From f84eff3055f000e81f44a0a5487542b15788db19 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 4 Apr 2022 01:44:54 +0200 Subject: [PATCH] pain --- files/classes/comment.py | 2 +- files/routes/front.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/files/classes/comment.py b/files/classes/comment.py index c12418b20e..6d1f79914d 100644 --- a/files/classes/comment.py +++ b/files/classes/comment.py @@ -54,7 +54,7 @@ class Comment(Base): author = relationship("User", primaryjoin="User.id==Comment.author_id") senttouser = relationship("User", primaryjoin="User.id==Comment.sentto", viewonly=True) parent_comment = relationship("Comment", remote_side=[id], viewonly=True) - child_comments = relationship("Comment", remote_side=[parent_comment_id], viewonly=True) + child_comments = relationship("Comment", lazy="dynamic", remote_side=[parent_comment_id], viewonly=True) awards = relationship("AwardRelationship", viewonly=True) reports = relationship("CommentFlag", viewonly=True) diff --git a/files/routes/front.py b/files/routes/front.py index c23bc722af..9030bff159 100644 --- a/files/routes/front.py +++ b/files/routes/front.py @@ -124,13 +124,13 @@ def notifications(v): listing = [] for c in comments: if c.parent_submission: - c.replies2 = [x for x in c.child_comments if c.author_id == v.id or x.id in all] - if c.id == 1661969: print(c.replies2) - cids = cids | set(x.id for x in c.replies2) + if not c.replies2: + c.replies2 = c.child_comments.filter(Comment.author_id == v.id, Comment.id.in_(all)).all() + cids.update(x.id for x in c.replies2) while c.parent_comment and (c.parent_comment.author_id == v.id or c.parent_comment in comments): c = c.parent_comment - c.replies2 = [x for x in c.child_comments if c.author_id == v.id or x.id in all] - cids = cids | set(x.id for x in c.replies2) + c.replies2 = c.child_comments.filter(Comment.author_id == v.id, Comment.id.in_(all)).all() + cids.update(x.id for x in c.replies2) cids.add(c.id) else: while c.parent_comment: