Browse files

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

…reate function. Refs #17788.

git-svn-id: bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent 20b021e commit cfd0cd1bc900b24e6206ca065520eef91d3ca3fa @aaugustin aaugustin committed Mar 4, 2012
Showing with 15 additions and 0 deletions.
  1. +15 −0 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.

0 comments on commit cfd0cd1

Please sign in to comment.