diff options
Diffstat (limited to 'lib/sqlalchemy/mapping/properties.py')
-rw-r--r-- | lib/sqlalchemy/mapping/properties.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/mapping/properties.py b/lib/sqlalchemy/mapping/properties.py index 6fb078d78..d049aec98 100644 --- a/lib/sqlalchemy/mapping/properties.py +++ b/lib/sqlalchemy/mapping/properties.py @@ -592,7 +592,7 @@ class LazyLoader(PropertyLoader): if allparams: if self.order_by is not None: order_by = self.order_by - elif self.secondary is not None: + elif self.secondary is not None and self.secondary.rowid_column is not None: order_by = [self.secondary.rowid_column] else: order_by = None @@ -714,11 +714,11 @@ class EagerLoader(PropertyLoader): if self.secondaryjoin is not None: statement._outerjoin = sql.outerjoin(towrap, self.secondary, self.primaryjoin).outerjoin(self.eagertarget, self.eagersecondary) - if self.order_by is None: + if self.order_by is None and self.secondary.rowid_column is not None: statement.order_by(self.secondary.rowid_column) else: statement._outerjoin = towrap.outerjoin(self.eagertarget, self.eagerprimary) - if self.order_by is None: + if self.order_by is None and self.eagertarget.rowid_column is not None: statement.order_by(self.eagertarget.rowid_column) if self.eager_order_by is not None: |