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 /tests/annotations/tests.py | |
| parent | 967be82443b5640d61608a89897d8ce2bc44fa54 (diff) | |
Fixed #27481 -- Made SQLite return annotated boolean values as boolean, not integer.
Thanks Simon Charette for review.
Diffstat (limited to 'tests/annotations/tests.py')
| -rw-r--r-- | tests/annotations/tests.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/annotations/tests.py b/tests/annotations/tests.py index 0515ac1ca1..b90286b9da 100644 --- a/tests/annotations/tests.py +++ b/tests/annotations/tests.py @@ -6,7 +6,7 @@ from decimal import Decimal from django.core.exceptions import FieldDoesNotExist, FieldError from django.db.models import ( BooleanField, CharField, Count, DateTimeField, ExpressionWrapper, F, Func, - IntegerField, Q, Sum, Value, + IntegerField, NullBooleanField, Q, Sum, Value, ) from django.db.models.functions import Lower from django.test import TestCase, skipUnlessDBFeature @@ -488,3 +488,15 @@ class NonAggregateAnnotationTestCase(TestCase): ], lambda c: (c.name, c.tagline_lower) ) + + def test_boolean_value_annotation(self): + books = Book.objects.annotate( + is_book=Value(True, output_field=BooleanField()), + is_pony=Value(False, output_field=BooleanField()), + is_none=Value(None, output_field=NullBooleanField()), + ) + self.assertGreater(len(books), 0) + for book in books: + self.assertIs(book.is_book, True) + self.assertIs(book.is_pony, False) + self.assertIsNone(book.is_none) |
