mirror of
https://github.com/django/django.git
synced 2025-07-28 15:44:20 +00:00
Fixed #13293 -- Corrected a problem with the MySQL handling of boolean return values when a query has an extra() clause. Thanks to mk for the report and draft patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12939 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
056c940f0d
commit
e9bbdb39de
3 changed files with 11 additions and 3 deletions
|
@ -3,13 +3,13 @@ from django.db.models.sql import compiler
|
|||
class SQLCompiler(compiler.SQLCompiler):
|
||||
def resolve_columns(self, row, fields=()):
|
||||
values = []
|
||||
for value, field in map(None, row, fields):
|
||||
index_extra_select = len(self.query.extra_select.keys())
|
||||
for value, field in map(None, row[index_extra_select:], fields):
|
||||
if (field and field.get_internal_type() in ("BooleanField", "NullBooleanField") and
|
||||
value in (0, 1)):
|
||||
value = bool(value)
|
||||
values.append(value)
|
||||
return tuple(values)
|
||||
|
||||
return row[:index_extra_select] + tuple(values)
|
||||
|
||||
class SQLInsertCompiler(compiler.SQLInsertCompiler, SQLCompiler):
|
||||
pass
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue