Also documented missing short command line options to fix#24134. This bumps
the minimum sphinx version required to build the docs to 1.3.4.
Thanks Simon Charette for review.
Backport of e519aab43a419589e92fe284e4ce2f2e034aec6a from master
Shallow copying of `django.utils.functional.LazyObject` or its subclasses has
been broken in a couple of different ways in the past, most recently due to
35355a4.
Backport of 13023ba86746980aace2341ba32a9419e7567751 from master
Prior to 55f12f8709, the template origin was available on each node via
`self.token.source[0]`. This behavior was removed when debug handling was
simplified, but 3rd-party debugging tools still depend on its presence.
This updates the Parser to set origin on individual nodes. This enables the
source template to be determined even when template extending or including is
used.
Backport of cfda1fa3f8d95f0f4a369da9021dbd770e5fa44a from master
This was causing an issue when calling the `migrate` command in a test case with
the `available_apps` attribute pointing to an application with migrations
disabled using the `MIGRATION_MODULES` setting.
Thanks to Tim Graham for the review.
Refs #24919
Backport of 4dcaa5871b70859952c6f9c437dfe1b5f10509f2 from master
Debian packages unconditionally byte-compile .py files on installation and
do not silence errors by design. Therefore, we need a way of shipping these
invalid .py files without a .py extension but ensuring that when we
template them, they end up as .py.
We don't special-case .py files so that the all the TemplateCommand
command-line options (eg. extra_files and extensions) still work entirely
as expected and it may even be useful for other formats too.
Backport of abc0777b63057e2ff97eee2ff184356051e14c47 from master
If SQLITE_MAX_VARIABLE_NUMBER (default = 999) is changed at compile time
to be greater than SQLITE_MAX_COLUMN (default = 2000), which Debian does
by setting the former to 250000, Django raised an exception on queries
containing more than 2000 parameters when DEBUG = True.
Backport of f91b5a7e4b from master
Thanks to Karl Hobley for the report and Markus, Shai, Aymeric for their input
and Tim for the review.
Backport of bc7d201bdbaeac14a49f51a9ef292d6312b4c45e from master
Reverted "Explicitly passed rounds as rounds to bcrypt.gensalt()"
This reverts commit 23529fb19594ffcc6ba6d716356b828157200288.
Backport of f0ad641628a3ddc4e1c208e481b9cd0e9304dc3d from master
Django's test suite often tries to load fixture files from apps that have
no fixtures at all. This creates a lot of unnecessary disabling and
enabling of constraints which can be expensive on some database.
To speed this up, loaddata now first checks if any fixture file matches.
If no fixture file is matched, then the command exits before disabling
and enabling of constraints is done.
The main benefit of this change is seen on MSSQL, where tests on
Django 1.8 run hours faster.
Backport of ee9f4686b19e2b4a68f5cb4f9d61dc045c1d4c63 from master
Changed "dict.setdefault" to "if x in dict" pattern so that get_form() would not
be called unnecessarily, specifically in the case where FormMixin.form_invalid()
calls get_context_data() with the current form.
Backport of e429c5186ceed81c4627165518e0c70c58e69595 from master
In that case, the content of INSTALLED_APPS will be ignored until it's
fixed and the autoreloader kicks in. I confirmed this behavior manually.
As explained on the ticket it's hard to write a test for this case.
Backport of df0a446fd4c864c003e4f941b5b7abd6f10c9427 from master