diff --git a/sqlite_minutils/db.py b/sqlite_minutils/db.py index 5e739ca..16f0ed8 100644 --- a/sqlite_minutils/db.py +++ b/sqlite_minutils/db.py @@ -413,7 +413,7 @@ def query( :param params: Parameters to use in that query - an iterable for ``where id = ?`` parameters, or a dictionary for ``where id = :id`` """ - cursor = self.execute(sql, tuple(params or tuple())) + cursor = self.execute(sql, params or tuple()) keys = [d[0] for d in cursor.description] for row in cursor: yield dict(zip(keys, row)) @@ -431,7 +431,9 @@ def execute( if self._tracer: self._tracer(sql, parameters) if parameters is not None: - return self.conn.execute(sql, tuple(parameters)) + if not isinstance(parameters, dict): + parameters = tuple(parameters) + return self.conn.execute(sql, parameters) else: return self.conn.execute(sql)