Opened 2 years ago
Last modified 2 years ago
#34941 closed Bug
db_default with decimal.Decimal() doesn't return Decimal instances on Oracle. — at Initial Version
| Reported by: | Mariusz Felisiak | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 5.0 |
| Severity: | Release blocker | Keywords: | oracle db_default |
| Cc: | David Sanders, Lily Foote | Triage Stage: | Accepted |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
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...
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
Note:
See TracTickets
for help on using tickets.