id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 17886 LOUTER join not promoted across filter expression milosu nobody "In my database I have a little bit complicated relations. The attached test case fails without applied patch. The core of the problem is actually something like: {{{ ModelA <-- ModelB ---0--> Model C --> Model D <--0--> Model C --> Model D }}} When I put ModelA into django.contrib.admin changelist and try to search - the search fields containing fields from all above outlined models, the resulting queryset contains one INNER JOIN for the link between the second relation of Model C and Model D which removes from the result set those models for which the many2many link is empty - which I guess should not happen. I think that the LEFT OUTER JOIN should propagage in this case across relations. Maybe this patch solves also other ORM OR-queries related problems present or already patched earlier.. The attached patch solves this problem and I hope it passes the whole Django test suite - although due to the time limitations I tried it only with ""queries"" and ""aggregation_regress tests"". With this patch I was running my app in production for 2 years now, so I expect it *should* work. This bug was present in the Django ORM since the qs refactor branch was merged a few years ago so I think it does not need to be marked as 1.4 release bloker. But anyway.. " Bug closed Database layer (models, ORM) 1.4-beta-1 Normal fixed Ready for checkin 1 0 0 0 0 0