Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Documented a limit of the SQLite backend, in relation with the bulk_c…

…reate function. Refs #17788.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17653 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit cfd0cd1bc900b24e6206ca065520eef91d3ca3fa 1 parent 20b021e
Aymeric Augustin aaugustin authored
Showing with 15 additions and 0 deletions.
  1. +15 −0 docs/ref/models/querysets.txt
15 docs/ref/models/querysets.txt
View
@@ -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
~~~~~
Please sign in to comment.
Something went wrong with that request. Please try again.