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

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

Information

Djblets
release-3.x

Reviewers

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.

Commits

Files