diff options
author | Akshesh <aksheshdoshi@gmail.com> | 2016-02-16 20:33:37 +0530 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-02-17 14:00:38 -0500 |
commit | 0d2b97ca18b576d1bbff2ccb089527e36d99eaf9 (patch) | |
tree | 4b6f2d9080212274c386941dc40ad313c796bd71 /tests | |
parent | 477b82cf8a7eefac98ff4f5afb4754727f4b0004 (diff) | |
download | django-0d2b97ca18b576d1bbff2ccb089527e36d99eaf9.tar.gz |
[1.9.x] Fixed #26219 -- Fixed crash when filtering by Decimal in RawQuery.
Backport of fdccc02576ae5a524338f65e629948604d80b4c8 from master
Diffstat (limited to 'tests')
-rw-r--r-- | tests/raw_query/models.py | 1 | ||||
-rw-r--r-- | tests/raw_query/tests.py | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/tests/raw_query/models.py b/tests/raw_query/models.py index fd122d4dbe..6e996322cc 100644 --- a/tests/raw_query/models.py +++ b/tests/raw_query/models.py @@ -29,6 +29,7 @@ class BookFkAsPk(models.Model): class Coffee(models.Model): brand = models.CharField(max_length=255, db_column="name") + price = models.DecimalField(max_digits=10, decimal_places=2, default=0) class Reviewer(models.Model): diff --git a/tests/raw_query/tests.py b/tests/raw_query/tests.py index 2f80c23f32..5bda4d76b6 100644 --- a/tests/raw_query/tests.py +++ b/tests/raw_query/tests.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from datetime import date +from decimal import Decimal from django.db.models.query_utils import InvalidQuery from django.test import TestCase, skipUnlessDBFeature @@ -306,3 +307,8 @@ class RawQueryTests(TestCase): """ b = BookFkAsPk.objects.create(book=self.b1) self.assertEqual(list(BookFkAsPk.objects.raw('SELECT not_the_default FROM raw_query_bookfkaspk')), [b]) + + def test_decimal_parameter(self): + c = Coffee.objects.create(brand='starbucks', price=20.5) + qs = Coffee.objects.raw("SELECT * FROM raw_query_coffee WHERE price >= %s", params=[Decimal(20)]) + self.assertEqual(list(qs), [c]) |