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 9578 order_by() removing select_related() joined tables when with extra() query sets Marinho Brandão Malcolm Tredinnick "When using extra + select_related + order_by, the joins are not generated by as_sql(). Look on the examples below: Without order_by() {{{ qs.extra( select={ 'once_title': 'case when feed_id is not null then feedjack_feed.title else podcasts_streamsource.title end' }, ).select_related() }}} SQL: {{{ (u'SELECT (case when feed_id is not null then feedjack_feed.title else podcasts_streamsource.title end) AS ""once_title"", ""podcasts_channel"".""id"", ""podcasts_channel"".""feed_id"", ""podcasts_channel"".""stream_source_id"", ""podcasts_channel"".""image_url"", ""podcasts_channel"".""media_rating"", ""podcasts_channel"".""language"", ""podcasts_channel"".""tags"" FROM ""podcasts_channel"" LEFT OUTER JOIN ""feedjack_feed"" ON (""podcasts_channel"".""feed_id"" = ""feedjack_feed"".""id"") LEFT OUTER JOIN ""podcasts_streamsource"" ON (""podcasts_channel"".""stream_source_id"" = ""podcasts_streamsource"".""id"") ORDER BY ""feedjack_feed"".""title"" ASC, ""podcasts_streamsource"".""title"" ASC', ()) }}} Now, adding order_by() method {{{ qs.extra( select={ 'once_title': 'case when feed_id is not null then feedjack_feed.title else podcasts_streamsource.title end' }, ).select_related().order_by('once_title') }}} SQL {{{ (u'SELECT (case when feed_id is not null then feedjack_feed.title else podcasts_streamsource.title end) AS ""once_title"", ""podcasts_channel"".""id"", ""podcasts_channel"".""feed_id"", ""podcasts_channel"".""stream_source_id"", ""podcasts_channel"".""image_url"", ""podcasts_channel"".""media_rating"", ""podcasts_channel"".""language"", ""podcasts_channel"".""tags"" FROM ""podcasts_channel"" ORDER BY ""once_title"" ASC', ()) }}} " closed Database layer (models, ORM) 1.0 invalid Unreviewed 0 0 0 0 0 0