Please sign in to comment.
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...
Showing with 17 additions and 0 deletions.