Skip to content

Commit

Permalink
select_related. Totally untested of course
Browse files Browse the repository at this point in the history
  • Loading branch information
mitsuhiko committed Jul 19, 2011
1 parent 916e8ef commit fe042a6
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions sqlalchemy_django_query.py
Expand Up @@ -18,6 +18,7 @@
:copyright: 2011 by Armin Ronacher, Mike Bayer.
license: BSD, see LICENSE for more details.
"""
from sqlalchemy.orm import joinedload, joinedload_all
from sqlalchemy.orm.query import Query
from sqlalchemy.orm.util import _entity_descriptor
from sqlalchemy.util import to_list
Expand Down Expand Up @@ -61,6 +62,12 @@ def filter_by(self, **kwargs):
def exclude_by(self, **kwargs):
return self._filter_or_exclude(True, kwargs)

def select_related(self, *columns):
if not columns:
return self.options(joinedload_all())
columns = [x.replace('__', '.') for x in columns]
return self.options(joinedload(columns))

def order_by(self, *args):
args = list(args)
joins_needed = []
Expand Down

0 comments on commit fe042a6

Please sign in to comment.