db_default with decimal.Decimal() doesn't return Decimal instances on Oracle.
While working on #34936 I noticed that DecimalField
with db_default
set to a Decimal()
instance doesn't return Decimal()
on Oracle:
/runtests.py field_defaults
Testing against Django installed in '/django/django' with up to 8 processes
Found 16 test(s).
Creating test database for alias 'default'...
Creating test user...
System check identified no issues (0 silenced).
.....s..sF......
======================================================================
FAIL: test_field_db_defaults_returning (field_defaults.tests.DefaultTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/django/django/test/testcases.py", line 1427, in skip_wrapper
return test_func(*args, **kwargs)
File "/django/tests/field_defaults/tests.py", line 48, in test_field_db_defaults_returning
self.assertEqual(a.cost, Decimal("3.33"))
AssertionError: 3.33 != Decimal('3.33')
----------------------------------------------------------------------
Ran 16 tests in 0.089s
FAILED (failures=1, skipped=2)
Destroying test database for alias 'default'...
Destroying test user...
Destroying test database tables...
It works properly when using bulk_create()
.
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
Change History
(9)
Description: |
modified (diff)
|
Triage Stage: |
Unreviewed → Accepted
|
Description: |
modified (diff)
|
Owner: |
changed from nobody to Mariusz Felisiak
|
Status: |
new → assigned
|
Resolution: |
→ fixed
|
Status: |
assigned → closed
|
Thanks!