Avoid fetching a StatusUpdate per Review on the review request page.
Review Request #14313 — Created Jan. 29, 2025 and submitted
We had code in the review request page that checked for the presence of
theReview.status_update
attribute. This in turn triggered a query for
the object on the other end of that relation, regardless of whether it
existed. That led to a useless query per review, especially since we had
already fetched all status updates on the page.This change adds some pre-processing, creating a map of reviews to
status updates, and utilizes that map instead of performing the
attribute check.This offers a pretty large savings on most review requests.
Unit tests passed.
Verified in Django Debug Toolbar that the repeated SQL queries for
status updates were no longer present.
Summary | ID |
---|---|
9510e1c617706e9c3a0362a8c289fa469e3c75a8 |