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 24296,"clear select fields for `.exists()` of distinct, non-sliced querysets",Martin Chase,Marcelo Galigniana,"The fix (93cc6dcdac6fc3e506640fa38dd1798c3cd61cff) for bug #18414 introduced an inefficiency in `.exists()` on distinct querysets in that now all distinct querysets are selecting all their fields. I propose the fields should be left on the queryset only if `(q.distinct and (q.high_mark is not None or q.low_mark is not None))`. As I started writing the test for this, I realized I would have to inspect the query itself, which seems... like a bad idea for a test. Would this be reasonable to submit the (one-line-change) patch without a test, or does someone have a suggestion for a way to make the test that's less brittle?",Cleanup/optimization,closed,"Database layer (models, ORM)",1.7,Normal,fixed,,,Ready for checkin,1,0,0,0,0,0