Ticket #6052: safe-string-mysql

File safe-string-mysql, 1.1 KB (added by Simon Law, 15 years ago)

Patch to let MySQLdb know about SafeString and SafeUnicode

Line 
1diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py
2--- a/django/db/backends/mysql/base.py
3+++ b/django/db/backends/mysql/base.py
4@@ -239,6 +239,14 @@
5 self.connection = None
6 return False
7
8+ def _connect(self, **kwargs):
9+ from django.utils.safestring import SafeString, SafeUnicode
10+ from types import StringType, UnicodeType
11+ connection = Database.connect(**kwargs)
12+ connection.encoders[SafeString] = connection.encoders[StringType]
13+ connection.encoders[SafeUnicode] = connection.encoders[UnicodeType]
14+ return connection
15+
16 def _cursor(self, settings):
17 if not self._valid_connection():
18 kwargs = {
19@@ -259,7 +267,7 @@
20 if settings.DATABASE_PORT:
21 kwargs['port'] = int(settings.DATABASE_PORT)
22 kwargs.update(self.options)
23- self.connection = Database.connect(**kwargs)
24+ self.connection = self._connect(**kwargs)
25 cursor = CursorWrapper(self.connection.cursor())
26 return cursor
27
Back to Top