summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRohit <rjha@ph.iitr.ac.in>2020-02-08 22:21:31 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-03-20 12:28:10 +0100
commit2695ac8e0441b4d7e5460eac3bb7ea315164a6bf (patch)
tree71df528790f275a1877123f79fb7bd4e8a097b52 /docs
parentc1c361677d9400c8e2cdaddda0c16086bb358492 (diff)
Fixed #31144 -- Relaxed system check for max_length of CharFields on MySQL/MariaDB by turning into a warning.
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/checks.txt5
-rw-r--r--docs/ref/databases.txt9
2 files changed, 11 insertions, 3 deletions
diff --git a/docs/ref/checks.txt b/docs/ref/checks.txt
index 5f9f9301ed..2ebaf5201f 100644
--- a/docs/ref/checks.txt
+++ b/docs/ref/checks.txt
@@ -127,9 +127,12 @@ MySQL and MariaDB
If you're using MySQL or MariaDB, the following checks will be performed:
* **mysql.E001**: MySQL/MariaDB does not allow unique ``CharField``\s to have a
- ``max_length`` > 255.
+ ``max_length`` > 255. *This check was changed to* ``mysql.W003`` *in Django
+ 3.1 as the real maximum size depends on many factors.*
* **mysql.W002**: MySQL/MariaDB Strict Mode is not set for database connection
'<alias>'. See also :ref:`mysql-sql-mode`.
+* **mysql.W003**: MySQL/MariaDB may not allow unique ``CharField``\s to have a
+ ``max_length`` > 255.
Model fields
------------
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index f61158c191..4d4a7d2aa9 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -581,13 +581,18 @@ these methods in no-op's based in the results of such detection.
Notes on specific fields
------------------------
+.. _mysql-character-fields:
+
Character fields
~~~~~~~~~~~~~~~~
-Any fields that are stored with ``VARCHAR`` column types have their
+Any fields that are stored with ``VARCHAR`` column types may have their
``max_length`` restricted to 255 characters if you are using ``unique=True``
for the field. This affects :class:`~django.db.models.CharField`,
-:class:`~django.db.models.SlugField`.
+:class:`~django.db.models.SlugField`. See `the MySQL documentation`_ for more
+details.
+
+.. _the MySQL documentation: https://dev.mysql.com/doc/refman/en/create-index.html#create-index-column-prefixes
``TextField`` limitations
~~~~~~~~~~~~~~~~~~~~~~~~~