Changeset 5247
- Timestamp:
- 05/15/07 11:13:37 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/unicode/django/db/backends/util.py
r5208 r5247 14 14 finally: 15 15 stop = time() 16 # If params was a list, convert it to a tuple, because string17 # formatting with '%' only works with tuples or dicts.18 if not isinstance(params, (tuple, dict)):19 params = tuple(params)20 16 self.db.queries.append({ 21 'sql': smart_unicode(sql) % params,17 'sql': smart_unicode(sql) % convert_args(params), 22 18 'time': "%.3f" % (stop - start), 23 19 }) … … 30 26 stop = time() 31 27 self.db.queries.append({ 32 'sql': 'MANY: ' + sql + ' ' + s tr(tuple(param_list)),28 'sql': 'MANY: ' + sql + ' ' + smart_unicode(tuple(param_list)), 33 29 'time': "%.3f" % (stop - start), 34 30 }) … … 39 35 else: 40 36 return getattr(self.cursor, attr) 37 38 def convert_args(args): 39 """ 40 Convert sequence or dictionary to contain unicode values. 41 """ 42 if isinstance(args, (list, tuple)): 43 return tuple([smart_unicode(val) for val in args]) 44 else: 45 return dict([(smart_unicode(k), smart_unicode(v)) for k, v in args.items()]) 41 46 42 47 ###############################################
