From 1ce6e78dd4beed702f15fa0be798dd17a15d4ba8 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Mon, 17 Nov 2025 13:43:47 +0100 Subject: Fixed #24920 -- Added support for DecimalField with no precision. Thanks Lily for the review. --- docs/ref/models/fields.txt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'docs/ref/models') diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index 649073b708..9aacbd2922 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -862,16 +862,22 @@ A fixed-precision decimal number, represented in Python by a :class:`~decimal.Decimal` instance. It validates the input using :class:`~django.core.validators.DecimalValidator`. -Has the following **required** arguments: +Has the following arguments: .. attribute:: DecimalField.max_digits The maximum number of digits allowed in the number. Note that this number - must be greater than or equal to ``decimal_places``. + must be greater than or equal to ``decimal_places``. It's always required + on MySQL because this database doesn't support numeric fields with no + precision. It's also required for all database backends when + :attr:`~DecimalField.decimal_places` is provided. .. attribute:: DecimalField.decimal_places - The number of decimal places to store with the number. + The number of decimal places to store with the number. It's always required + on MySQL because this database doesn't support numeric fields with no + precision. It's also required for all database backends when + :attr:`~DecimalField.max_digits` is provided. For example, to store numbers up to ``999.99`` with a resolution of 2 decimal places, you'd use:: @@ -895,6 +901,11 @@ when :attr:`~django.forms.Field.localize` is ``False`` or should also be aware of :ref:`SQLite limitations ` of decimal fields. +.. versionchanged:: 6.1 + + Support for ``DecimalField`` with no precision was added on Oracle, + PostgreSQL, and SQLite. + ``DurationField`` ----------------- -- cgit v1.3