diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt index 1d11112d791..d0eed1ecc4e 100644 --- a/docs/ref/databases.txt +++ b/docs/ref/databases.txt @@ -677,6 +677,18 @@ substring filtering. .. _documented at sqlite.org: https://www.sqlite.org/faq.html#q18 +.. _sqlite-decimal-handling: + +Decimal handling +---------------- + +SQLite has no real decimal internal type. Decimal values are internally +converted to the ``REAL`` data type (8-byte IEEE floating point number), as +explained in the `SQLite datatypes documentation`__, so they don't support +correctly-rounded decimal floating point arithmetic. + +__ https://www.sqlite.org/datatype3.html#storage_classes_and_datatypes + "Database is locked" errors --------------------------- diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index b6afd23dc2a..ac21380db2c 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -715,7 +715,9 @@ when :attr:`~django.forms.Field.localize` is ``False`` or For more information about the differences between the :class:`FloatField` and :class:`DecimalField` classes, please - see :ref:`FloatField vs. DecimalField `. + see :ref:`FloatField vs. DecimalField `. You + should also be aware of :ref:`SQLite limitations ` + of decimal fields. ``DurationField`` -----------------