Opened 13 months ago
Last modified 13 months ago
#34941 closed Bug
db_default with decimal.Decimal() doesn't return Decimal instances on Oracle. — at Version 1
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 (last modified by )
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.
Note:
See TracTickets
for help on using tickets.