From 4057711c830d1433d1e9eea3ce332927d06bef44 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 6 Jul 2022 12:58:44 +0200 Subject: [PATCH] Revert "remove all joinedload bullshit I added" This reverts commit c8d5eb0f57c613ee7847ccd6256ea21b312869b2. --- files/helpers/get.py | 31 +++++++++++++++++++++++++++++++ files/routes/polls.py | 8 ++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/files/helpers/get.py b/files/helpers/get.py index 9356b8958..2a3605864 100644 --- a/files/helpers/get.py +++ b/files/helpers/get.py @@ -1,5 +1,6 @@ from files.classes import * from flask import g +from sqlalchemy.orm import joinedload, undefer def get_id(username, v=None, graceful=False): @@ -40,6 +41,16 @@ def get_user(username, v=None, graceful=False, rendered=False): ) ) + if rendered: + user = user.options( + undefer('reserved'), + undefer('profilecss'), + undefer('bio'), + undefer('friends_html'), + undefer('enemies_html'), + joinedload(User.badges) + ) + user = user.one_or_none() if not user: @@ -149,6 +160,17 @@ def get_post(i, v=None, graceful=False, rendered=False, entered=False): isouter=True ) + if rendered: + post = post.options( + joinedload(Submission.flags), + joinedload(Submission.awards), + joinedload(Submission.author), + joinedload(Submission.options).joinedload(SubmissionOption.votes) + ) + + if v and entered: + post = post.options(joinedload(Submission.comments)) + post=post.one_or_none() if not post: @@ -199,6 +221,10 @@ def get_posts(pids, v=None): blocked, blocked.c.user_id == Submission.author_id, isouter=True + ).options(joinedload(Submission.flags), + joinedload(Submission.awards), + joinedload(Submission.author), + joinedload(Submission.options).joinedload(SubmissionOption.votes) ).all() output = [p[0] for p in query] @@ -280,6 +306,11 @@ def get_comments(cids, v=None, load_parent=False): blocked, blocked.c.user_id == Comment.author_id, isouter=True + ).options( + joinedload(Comment.post), + joinedload(Comment.flags), + joinedload(Comment.awards), + joinedload(Comment.options).joinedload(CommentOption.votes) ).all() output = [] diff --git a/files/routes/polls.py b/files/routes/polls.py index 98ff61e77..ca5289728 100644 --- a/files/routes/polls.py +++ b/files/routes/polls.py @@ -47,7 +47,9 @@ def option_votes(option_id, v): if not option: abort(404) - ups = g.db.query(SubmissionOptionVote).filter_by(option_id=option_id).all() + ups = g.db.query(SubmissionOptionVote).filter_by(option_id=option_id).options( + joinedload(SubmissionOptionVote.user) + ).all() return render_template("poll_votes.html", v=v, @@ -97,7 +99,9 @@ def option_votes_comment(option_id, v): if not option: abort(404) - ups = g.db.query(CommentOptionVote).filter_by(option_id=option_id).all() + ups = g.db.query(CommentOptionVote).filter_by(option_id=option_id).options( + joinedload(CommentOptionVote.user) + ).all() return render_template("poll_votes.html", v=v,