Compare IDs instead of model instances when possible.

Review Request #10380 — Created Jan. 13, 2019 and submitted

chipx86
Review Board
release-3.0.x
reviewboard

We had several regularly-invoked model instance comparisons in the
product that could result in unwanted database queries. These were
usually found in accessibility checks, comparing if a requesting user
matches the user owning an object.

To reduce overhead, we now compare the IDs, which is faster even if the
instances were already loaded. This cuts down on a number of queries in
common usage.

Test coverage for these checks have been improved, with many
accessibility checks that were previously covered implicitly through
other test suites now having explicit test coverage.

There's also a fix for a bad permission name, which impacted the tests.
The can_edit_status permission for StatusUpdate needed to be
change_statusupdate.

Unit tests pass.

Summary
Compare IDs instead of model instances when possible.
Description From Last Updated

F821 undefined name 'AnonymousUser'

reviewbotreviewbot

F821 undefined name 'AnonymousUser'

reviewbotreviewbot

E128 continuation line under-indented for visual indent

reviewbotreviewbot

F401 'reviewboard.reviews.models.StatusUpdate' imported but unused

reviewbotreviewbot
Checks run (1 failed, 1 succeeded)
flake8 failed.
JSHint passed.

flake8

chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-3.0.x (cd33f6d)
Loading...