Skip to content

Commit 92df337

Browse files
committed
improve queries
make them one SQL query so they are faster
1 parent 113c750 commit 92df337

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

evap/results/views.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -209,20 +209,20 @@ def evaluation_detail(request, semester_id, evaluation_id):
209209

210210
is_responsible_or_contributor_or_delegate = evaluation.is_user_responsible_or_contributor_or_delegate(view_as_user)
211211

212-
contributor_textanswers = view_as_user.is_reviewer or any(
213-
evaluation.is_user_contributor(user) for user in represented_users
214-
)
212+
contributor_textanswers = view_as_user.is_reviewer or evaluation.contributions.filter(
213+
contributor__in=represented_users
214+
).exists()
215+
215216
contributor_personal = evaluation.is_user_contributor(view_as_user)
216217

217-
user_represents_responsible = any(user in represented_users for user in evaluation.course.responsibles.all())
218-
user_represents_general_visibilty_contributor = any(
219-
evaluation.is_user_contributor(user)
220-
and evaluation.contributions.filter(
221-
contributor=user,
222-
textanswer_visibility=Contribution.TextAnswerVisibility.GENERAL_TEXTANSWERS,
223-
).exists()
224-
for user in represented_users
225-
)
218+
user_represents_responsible = evaluation.course.responsibles.all().filter(
219+
pk__in=(user.pk for user in represented_users)
220+
).exists()
221+
222+
#any(user in represented_users for user in evaluation.course.responsibles.all())
223+
user_represents_general_visibilty_contributor = evaluation.contributions.filter(
224+
contributor__in=represented_users,
225+
textanswer_visibility=Contribution.TextAnswerVisibility.GENERAL_TEXTANSWERS).exists()
226226

227227
general_textanswers = (
228228
view_as_user.is_reviewer or user_represents_responsible or user_represents_general_visibilty_contributor

0 commit comments

Comments
 (0)