Fix pages in workflow status showing up as "live + draft" #11013
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #10925
It turns out the fix is literally one liner, changing the
GenericRelation
to usecontent_type
instead ofbase_content_type
. However, that depends on whether we're working with a specific queryset or the basePage
queryset. I opted to have twoGenericRelation
s instead so that we can useprefetch_workflow_states()
with either, and it will pick the correct relation accordingly.And yeah, it turns out prefetching
GenericRelation
s with a custom queryset still works fine on Django < 5.0. The one that needs Django >= 5.0 is prefetchingGenericForeignKey
s, because the result can be of different models.Please check the following:
make lint
from the Wagtail root.Please describe additional details for testing this change.
With bakerydemo, the issue in #10925 shouldn't occur anymore.
Footnotes
Development Testing ↩