# repro in REPL; linebreaks added for clarity and stack trace lightly anonymized
>>> [DecimalWithPrecision(value=3.14).save(), DecimalWithoutPrecision(value=3.14).save()]
[None, None]
>>> DecimalWithPrecision.objects.first()
<DecimalWithPrecision: DecimalWithPrecision object (1)>
>>> DecimalWithoutPrecision.objects.first()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/models/query.py", line 1189, in first
for obj in queryset[:1]:
~~~~~~~~^^^^
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/models/query.py", line 434, in __iter__
self._fetch_all()
~~~~~~~~~~~~~~~^^
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/models/query.py", line 2239, in _fetch_all
self._result_cache = list(self._iterable_class(self))
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/models/query.py", line 130, in __iter__
for row in compiler.results_iter(results):
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/models/sql/compiler.py", line 1577, in results_iter
converters = self.get_converters(fields)
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/models/sql/compiler.py", line 1525, in get_converters
backend_converters = self.connection.ops.get_db_converters(expression)
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/backends/sqlite3/operations.py", line 282, in get_db_converters
converters.append(self.get_decimalfield_converter(expression))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/repro-noprecision-decimal-failure/.venv/lib/python3.14/site-packages/django/db/backends/sqlite3/operations.py", line 320, in get_decimalfield_converter
-expression.output_field.decimal_places
TypeError: bad operand type for unary -: 'NoneType'
Thank you for the report! Refs #24920