Normalize the executed Q() in assertQueries to ease comparisons.

Review Request #12357 — Created June 10, 2022 and submitted

chipx86
Djblets
release-3.x
djblets

When calling MyModel.objects.filter(Q(...)), an extra wrapper Q()
sometimes gets generated, resulting in an expression like
Q(Q(field=value)). This is annoying to work with in tests, and feels
wrong.

To avoid this, we now post-process just a bit. If the Q() object
contains only one child, and that child is another Q() object, we just
extract the inner one.

Tested with unit tests that were triggering this behavior.

Summary
Normalize the executed Q() in assertQueries to ease comparisons.
david
  1. Ship It!
  2. 
      
chipx86
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-3.x (48e62ff)
Loading...