diff options
Diffstat (limited to 'django/db/backends/oracle/base.py')
-rw-r--r-- | django/db/backends/oracle/base.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index d277e5b6f7..4096d0e1e6 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -74,6 +74,14 @@ class FormatStylePlaceholderCursor(Database.Cursor): def _rewrite_args(self, query, params=None): if params is None: params = [] + else: + # cx_Oracle can't handle unicode parameters, so cast to str for now + for i, param in enumerate(params): + if type(param) == unicode: + try: + params[i] = param.encode('utf-8') + except UnicodeError: + params[i] = str(param) args = [(':arg%d' % i) for i in range(len(params))] query = query % tuple(args) # cx_Oracle cannot execute a query with the closing ';' |