Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Fixed #17502 -- Made joining in inheritance cases consistent
The original problem was that when filtering two levels up in inheritance chain, Django optimized the join generation so that the middle model was skipped. But then Django generated joins from top to middle to bottom for SELECT clause, and thus there was one extra join (top->middle->bottom + top -> bottom). This case is fixed in master as the filtering optimization is gone. This has the side effect that in some cases there is still extra join if the SELECT clause doesn't contain anything from middle or bottom.
- Loading branch information