Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[py3] Prepared MySQL backend for Python 3 compatibility

  • Loading branch information...
commit bfc380baeaca359ac7b36eb35a2415e6a37e836c 1 parent 3fce0d2
@claudep claudep authored
View
8 django/db/backends/mysql/compiler.py
@@ -1,10 +1,16 @@
+try:
+ from itertools import zip_longest
+except ImportError:
+ from itertools import izip_longest as zip_longest
+
from django.db.models.sql import compiler
+
class SQLCompiler(compiler.SQLCompiler):
def resolve_columns(self, row, fields=()):
values = []
index_extra_select = len(self.query.extra_select)
- for value, field in map(None, row[index_extra_select:], fields):
+ for value, field in zip_longest(row[index_extra_select:], fields):
if (field and field.get_internal_type() in ("BooleanField", "NullBooleanField") and
value in (0, 1)):
value = bool(value)
View
7 django/db/backends/mysql/introspection.py
@@ -1,8 +1,9 @@
+import re
+from .base import FIELD_TYPE
+
from django.db.backends import BaseDatabaseIntrospection
from django.utils import six
-from MySQLdb import ProgrammingError, OperationalError
-from MySQLdb.constants import FIELD_TYPE
-import re
+
foreign_key_re = re.compile(r"\sCONSTRAINT `[^`]*` FOREIGN KEY \(`([^`]*)`\) REFERENCES `([^`]*)` \(`([^`]*)`\)")
Please sign in to comment.
Something went wrong with that request. Please try again.