summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Charette <simon.charette@zapier.com>2019-10-08 09:23:07 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-07-14 07:40:10 +0200
commit9c5c9bd7091b60fdccc405890dc4f44a8010e954 (patch)
tree24c6e31c9e30db9baf498a1f335b35177944be7d
parentf783a990725fbfce17ef827d3b55ef702535ae96 (diff)
Stopped adapting DecimalField values to strings on PostgreSQL.
The psycopg2 backend uses the type information to provide type hints.
-rw-r--r--django/db/backends/postgresql/operations.py3
-rw-r--r--tests/expressions_case/tests.py8
2 files changed, 7 insertions, 4 deletions
diff --git a/django/db/backends/postgresql/operations.py b/django/db/backends/postgresql/operations.py
index c67062a4a7..51374cb3bb 100644
--- a/django/db/backends/postgresql/operations.py
+++ b/django/db/backends/postgresql/operations.py
@@ -257,6 +257,9 @@ class DatabaseOperations(BaseDatabaseOperations):
def adapt_timefield_value(self, value):
return value
+ def adapt_decimalfield_value(self, value, max_digits=None, decimal_places=None):
+ return value
+
def adapt_ipaddressfield_value(self, value):
if value:
return Inet(value)
diff --git a/tests/expressions_case/tests.py b/tests/expressions_case/tests.py
index efb4ba227e..3778e32f1b 100644
--- a/tests/expressions_case/tests.py
+++ b/tests/expressions_case/tests.py
@@ -6,9 +6,9 @@ from uuid import UUID
from django.core.exceptions import FieldError
from django.db.models import (
- BinaryField, BooleanField, Case, CharField, Count, DurationField, F,
- GenericIPAddressField, IntegerField, Max, Min, Q, Sum, TextField,
- TimeField, UUIDField, Value, When,
+ BinaryField, BooleanField, Case, CharField, Count, DecimalField,
+ DurationField, F, GenericIPAddressField, IntegerField, Max, Min, Q, Sum,
+ TextField, TimeField, UUIDField, Value, When,
)
from django.test import SimpleTestCase, TestCase
@@ -705,7 +705,7 @@ class CaseExpressionTests(TestCase):
CaseTestModel.objects.update(
decimal=Case(
When(integer=1, then=Decimal('1.1')),
- When(integer=2, then=Decimal('2.2')),
+ When(integer=2, then=Value(Decimal('2.2'), output_field=DecimalField())),
),
)
self.assertQuerysetEqual(