diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py index 62b61a397a82cf492d302cbd78268437d6b87cb0..930d1060aaacdeb904ca80f4943f7a4647bcafda 100644 --- a/mo/web/org_contest.py +++ b/mo/web/org_contest.py @@ -1268,10 +1268,12 @@ def org_contest_advance(contest_id: int): really_inserted = 0 for pp in prev_pions: + # This incurs no real queries as we have all the contests cached + prev_place_id = sess.query(db.Contest).get(pp.contest_id).place_id if accept_uids and pp.user_id not in accept_uids: - reject_by_place_id[pp.place_id] += 1 + reject_by_place_id[prev_place_id] += 1 continue - accept_by_place_id[pp.place_id] += 1 + accept_by_place_id[prev_place_id] += 1 if want_execute: # ORM neumí ON CONFLICT DO NOTHING, takže musíme o vrstvu níže