From: Oliver Rice Date: Sat, 13 Feb 2021 00:12:41 +0000 (-0600) Subject: prevent strings from being treated as a valid iterable argument X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc03a313610faadc3ff41ddee0ff97c1f397213d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git prevent strings from being treated as a valid iterable argument --- diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index 24793ea207..ba3ccdec04 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -4870,7 +4870,11 @@ class Select( constructs as given, as well as ORM-mapped classes. """ - if (args and hasattr(args[0], '__iter__')) or kw: + if ( + args + and hasattr(args[0], "__iter__") + and not hasattr(args[0], "strip") + ) or kw: return cls.create_legacy_select(*args, **kw) else: return cls._create_future_select(*args)