Ticket #6052: safe-string-mysql

File safe-string-mysql, 1.1 KB (added by sfllaw, 6 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