diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index 13504f41cf..2b24fdd05c 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1371,6 +1371,21 @@ This has a number of caveats though: * If the model's primary key is an :class:`~django.db.models.AutoField` it does not retrieve and set the primary key attribute, as ``save()`` does. +.. admonition:: Limits of SQLite + + SQLite sets a limit on the number of parameters per SQL statement. The + maximum is defined by the SQLITE_MAX_VARIABLE_NUMBER_ compilation option, + which defaults to 999. For instance, if your model has 8 fields (including + the primary key), you cannot create more than 999 // 8 = 124 instances at + a time. If you exceed this limit, you will get an exception:: + + django.db.utils.DatabaseError: too many SQL variables + + If your application's performance requirements exceed SQLite's limits, you + should switch to another database engine, such as PostgreSQL. + +.. _SQLITE_MAX_VARIABLE_NUMBER: http://sqlite.org/limits.html#max_variable_number + count ~~~~~