From 0ca4107c3ed9caff2f6584e4b7215294a6409790 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 28 Jan 2010 20:30:42 +0000 Subject: add an informative error msg for non-collection passed to select() --- lib/sqlalchemy/sql/expression.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy/sql/expression.py') diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 6d74fec16..bf3d16e69 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -3488,8 +3488,14 @@ class Select(_SelectBaseMixin, FromClause): self._correlate = set() self._froms = util.OrderedSet() - - if columns: + + try: + cols_present = bool(columns) + except TypeError: + raise exc.ArgumentError("columns argument to select() must " + "be a Python list or other iterable") + + if cols_present: self._raw_columns = [] for c in columns: c = _literal_as_column(c) -- cgit v1.2.1