diff options
| author | Sergey Fedoseev <fedoseev.sergey@gmail.com> | 2016-11-15 01:47:20 +0600 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-11-14 14:47:20 -0500 |
| commit | c7bfcd2f377ad5803e25ee547dee9cf58ee68ab2 (patch) | |
| tree | f1895565f84834df093827449df994dff5b1eaab /django/db | |
| parent | 967be82443b5640d61608a89897d8ce2bc44fa54 (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.py | 5 |
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) |
