summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/expressions/models.py3
-rw-r--r--tests/expressions/tests.py7
2 files changed, 9 insertions, 1 deletions
diff --git a/tests/expressions/models.py b/tests/expressions/models.py
index 938e623d60..82b9629f81 100644
--- a/tests/expressions/models.py
+++ b/tests/expressions/models.py
@@ -48,9 +48,10 @@ class Company(models.Model):
class Number(models.Model):
integer = models.BigIntegerField(db_column='the_integer')
float = models.FloatField(null=True, db_column='the_float')
+ decimal_value = models.DecimalField(max_digits=20, decimal_places=17, null=True)
def __str__(self):
- return '%i, %.3f' % (self.integer, self.float)
+ return '%i, %.3f, %.17f' % (self.integer, self.float, self.decimal_value)
class Experiment(models.Model):
diff --git a/tests/expressions/tests.py b/tests/expressions/tests.py
index ed972fd5f7..33c5189390 100644
--- a/tests/expressions/tests.py
+++ b/tests/expressions/tests.py
@@ -1194,6 +1194,13 @@ class ExpressionsNumericTests(TestCase):
self.assertEqual(Number.objects.get(pk=n.pk).integer, 10)
self.assertEqual(Number.objects.get(pk=n.pk).float, Approximate(256.900, places=3))
+ def test_decimal_expression(self):
+ n = Number.objects.create(integer=1, decimal_value=Decimal('0.5'))
+ n.decimal_value = F('decimal_value') - Decimal('0.4')
+ n.save()
+ n.refresh_from_db()
+ self.assertEqual(n.decimal_value, Decimal('0.1'))
+
class ExpressionOperatorTests(TestCase):
@classmethod