summaryrefslogtreecommitdiff
path: root/django/db
diff options
context:
space:
mode:
authorSergey Fedoseev <fedoseev.sergey@gmail.com>2016-11-15 01:47:20 +0600
committerTim Graham <timograham@gmail.com>2016-11-14 14:47:20 -0500
commitc7bfcd2f377ad5803e25ee547dee9cf58ee68ab2 (patch)
treef1895565f84834df093827449df994dff5b1eaab /django/db
parent967be82443b5640d61608a89897d8ce2bc44fa54 (diff)
Fixed #27481 -- Made SQLite return annotated boolean values as boolean, not integer.
Thanks Simon Charette for review.
Diffstat (limited to 'django/db')
-rw-r--r--django/db/backends/sqlite3/operations.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/django/db/backends/sqlite3/operations.py b/django/db/backends/sqlite3/operations.py
index 47a26b5165..57c65a366e 100644
--- a/django/db/backends/sqlite3/operations.py
+++ b/django/db/backends/sqlite3/operations.py
@@ -209,6 +209,8 @@ class DatabaseOperations(BaseDatabaseOperations):
converters.append(self.convert_decimalfield_value)
elif internal_type == 'UUIDField':
converters.append(self.convert_uuidfield_value)
+ elif internal_type in ('NullBooleanField', 'BooleanField'):
+ converters.append(self.convert_booleanfield_value)
return converters
def convert_datetimefield_value(self, value, expression, connection, context):
@@ -242,6 +244,9 @@ class DatabaseOperations(BaseDatabaseOperations):
value = uuid.UUID(value)
return value
+ def convert_booleanfield_value(self, value, expression, connection, context):
+ return bool(value) if value in (1, 0) else value
+
def bulk_insert_sql(self, fields, placeholder_rows):
return " UNION ALL ".join(
"SELECT %s" % ", ".join(row)