Nick Pope
2161db0792
Fixed capitalization of "ECMAScript" and "JavaScript".
2021-04-29 20:29:08 +02:00
Mariusz Felisiak
baba733dcc
Refs #32682 -- Renamed lookup_needs_distinct() to lookup_spawns_duplicates().
...
Follow up to 1871182031
.
2021-04-29 12:04:30 +02:00
David Wobrock
ee3b719a81
Refs #32675 -- Removed to_field from ForeignKeys in contrib apps' migrations.
...
Refs #22889 .
2021-04-29 07:46:22 +02:00
Nick Pope
0c71e0f9cf
Removed unnecessary reuse_with_filtered_relation argument from Query methods.
...
In Query.join() the argument reuse_with_filtered_relation was used to
determine whether to use == or .equals(). As this area of code is
related to aliases, we only expect an instance of Join or BaseTable to
be provided - the only two classes that provide .equals().
In both cases, the implementations of __eq__() and equals() are based
on use of the "identity" property. __eq__() performs an isinstance()
check first, returning NotImplemented if required. BaseTable.equals()
then does a straightforward equality check on "identity". Join.equals()
is a little bit different as it skips checking the last element of the
"identity" property: filtered_relation. This was only included
previously when the with_filtered_relation argument was True, impossible
since bbf141bcdc
.
2021-04-28 21:19:42 +02:00
Nick Pope
a6c79f4987
Removed unused with_filtered_relation argument from .equals()
...
Unused since bbf141bcdc
.
2021-04-28 20:42:20 +02:00
Simon Charette
c8b6594305
Fixed #32632 , Fixed #32657 -- Removed flawed support for Subquery deconstruction.
...
Subquery deconstruction support required implementing complex and
expensive equality rules for sql.Query objects for little benefit as
the latter cannot themselves be made deconstructible to their reference
to model classes.
Making Expression @deconstructible and not BaseExpression allows
interested parties to conform to the "expression" API even if they are
not deconstructible as it's only a requirement for expressions allowed
in Model fields and meta options (e.g. constraints, indexes).
Thanks Phillip Cutter for the report.
This also fixes a performance regression in bbf141bcdc
.
2021-04-28 12:13:55 +02:00
Konstantin Alekseev
6e742dabc9
Fixed #32687 -- Restored passing process’ environment to underlying tool in dbshell on PostgreSQL.
...
Regression in bbe6fbb876
.
2021-04-27 10:43:35 +02:00
Mariusz Felisiak
1871182031
Fixed #32682 -- Made admin changelist use Exists() instead of distinct() for preventing duplicates.
...
Thanks Zain Patel for the report and Simon Charette for reviews.
The exception introduced in 6307c3f1a1
revealed a possible data loss issue in the admin.
2021-04-27 10:34:47 +02:00
Mariusz Felisiak
cd74aad90e
Refs #32682 -- Renamed use_distinct variable to may_have_duplicates.
...
QuerySet.distinct() is not the only way to avoid duplicate, it's also
not preferred.
2021-04-27 10:34:47 +02:00
Mariusz Felisiak
4074f38e1d
Refs #32682 -- Fixed QuerySet.delete() crash on querysets with self-referential subqueries on MySQL.
2021-04-27 10:34:47 +02:00
Mariusz Felisiak
d68be0494b
Refs 32637 -- Made technical 404 debug page display exception message when URL is resolved.
...
Follow up to 3b8527e32b
.
2021-04-27 08:40:52 +02:00
Hannes Ljungberg
eab71f7690
Fixed #32686 -- Removed unnecessary semicolon on collected multiline SQL for RunSQL.
2021-04-27 08:01:07 +02:00
Zain Patel
4e5bbb6ef2
Fixed #32681 -- Fixed VariableDoesNotExist when rendering some admin template.
...
Regression in 84609b3205
.
2021-04-26 07:08:16 +02:00
Mariusz Felisiak
0aacbdcf27
Refs #32673 -- Fixed lookups crash when comparing against lookups on Oracle.
...
Follow up to 170b006ce8
.
2021-04-23 16:32:53 +02:00
Simon Charette
170b006ce8
Fixed #32673 -- Fixed lookups crash when comparing against lookups on PostgreSQL.
...
Regression in 3a505c70e7
.
Nonlitteral right-hand-sides of lookups need to be wrapped in
parentheses to avoid operator precedence ambiguities.
Thanks Charles Lirsac for the detailed report.
2021-04-23 15:38:32 +02:00
Chris Jerdonek
0461b7a6b6
Fixed #32662 -- Refactored a generator out of SQLCompiler.get_order_by().
...
This also renames the `asc` variable to `default_order`, markes the
`desc` variable as unused, fixes a typo in SQLCompiler.get_order_by()
docstring, and reorders some blocks in SQLCompiler._order_by_pairs().
2021-04-21 12:35:49 +02:00
Simon Charette
6d0cbe42c3
Fixed #32650 -- Fixed handling subquery aliasing on queryset combination.
...
This issue started manifesting itself when nesting a combined subquery
relying on exclude() since 8593e162c9
but
sql.Query.combine never properly handled subqueries outer refs in the
first place, see QuerySetBitwiseOperationTests.test_subquery_aliases()
(refs #27149 ).
Thanks Raffaele Salmaso for the report.
2021-04-21 09:49:15 +02:00
Mariusz Felisiak
34d1905712
Fixed #32665 -- Fixed caches system check crash when STATICFILES_DIRS is a list of 2-tuples.
...
Thanks Jared Lockhart for the report.
Regression in c36075ac1d
.
2021-04-21 09:41:37 +02:00
Carlton Gibson
5c73fbb6a9
Fixed #32647 -- Restored multi-row select with shift-modifier in admin changelist.
...
Regression in 30e59705fc
.
2021-04-21 08:31:06 +02:00
Tobias Bengfort
54e94640ac
Refs #25287 -- Added support for multiplying and dividing DurationField by scalar values on SQLite.
2021-04-20 11:44:41 +02:00
Tobias Bengfort
9e1ccd7283
Refs #25287 -- Added _sqlite_prepare_dtdelta_param() hook.
2021-04-20 10:07:42 +02:00
David Beitey
4bb27c8719
Removed unnecessary line in OrderBy.as_sql().
...
Unnecessary since 7286eaf681
.
2021-04-20 09:47:11 +02:00
François Freitag
6b0b3eafd6
Fixed #32664 -- Made PasswordResetTokenGenerator.secret validation lazy.
...
Django apps initialization to run management command triggers the admin
autodiscovery. Importing django.contrib.auth.tokens creates an instance
of PasswordResetTokenGenerator which required a SECRET_KEY.
For several management commands, the token generator is unused. It
should only complain about a missing SECRET_KEY when it is used.
2021-04-20 07:34:53 +02:00
David Wobrock
aa4acc164d
Fixed #29899 -- Made autodetector use model states instead of model classes.
...
Thanks Simon Charette and Markus Holtermann for reviews.
2021-04-16 11:18:10 +02:00
David Wobrock
a67849499a
Refs #29899 -- Improved variable names in MigrationAutodetector._detect_changes().
2021-04-16 10:33:42 +02:00
David Wobrock
fd325b9dee
Refs #29899 -- Moved resolve_relation() to django.db.migrations.utils.
2021-04-16 10:33:42 +02:00
girishsontakke
a815a6a315
Fixed #32641 -- Made DiscoverRunner print the number of found tests.
...
Thanks Chris Jerdonek for reviews.
2021-04-15 11:42:46 +02:00
Florian Apolloner
4511d14598
Fixed #32643 -- Fixed decoding of messages in the pre-Django 3.2 format.
...
Thanks Jan Pieter Waagmeester for the report.
Regression in 2d6179c819
.
2021-04-14 22:52:59 +02:00
Mariusz Felisiak
ca98729055
Fixed #32645 -- Fixed QuerySet.update() crash when ordered by joined fields on MySQL/MariaDB.
...
Thanks Matt Westcott for the report.
Regression in 779e615e36
.
2021-04-14 21:11:17 +02:00
Arthur Jovart
08c60cce3b
Fixed #32648 -- Fixed VariableDoesNotExist rendering sitemaps template.
2021-04-14 16:50:47 +02:00
Mariusz Felisiak
23fa29f6a6
Fixed #32649 -- Fixed ModelAdmin.search_fields crash when searching against phrases with unbalanced quotes.
...
Thanks Dlis for the report.
Regression in 26a413507a
.
2021-04-14 12:23:47 +02:00
Hasan Ramezani
a77c9a4229
Fixed #32635 -- Fixed system check crash for reverse o2o relations in CheckConstraint.check and UniqueConstraint.condition.
...
Regression in b7b7df5fbc
.
Thanks Szymon Zmilczak for the report.
2021-04-14 10:06:18 +02:00
Daniel Hahler
59552bea57
Corrected typo in Field.deconstruct docstring.
2021-04-13 11:44:44 +02:00
Mariusz Felisiak
3b8527e32b
Fixed #32637 -- Restored exception message on technical 404 debug page.
...
Thanks Atul Varma for the report.
2021-04-13 09:15:04 +02:00
Iuri de Silvio
9760e262f8
Fixed #32627 -- Fixed QuerySet.values()/values_list() crash on combined querysets ordered by unannotated columns.
2021-04-12 21:11:40 +02:00
Chris Jerdonek
823a9e6bac
Fixed #32416 -- Made ThreadedWSGIServer close connections after each thread.
...
ThreadedWSGIServer is used by LiveServerTestCase.
2021-04-12 10:23:56 +02:00
Chris Jerdonek
71a936f9d8
Refs #32416 -- Added LiveServerTestCase._make_connections_override() hook.
2021-04-12 08:54:03 +02:00
Claude Paroz
e4430f22c8
Fixed #31937 -- Eased translation of time strings in some languages.
2021-04-10 20:23:12 +02:00
Mariusz Felisiak
b8c9e9fae1
Refs #32074 -- Removed usage of Python's deprecated distutils.version package.
...
The distutils package was formally deprecated in Python 3.10 and will
be removed in Python 3.12.
2021-04-09 12:56:27 +02:00
Raymond Nunez
e84b054325
Added missing "event" argument to addEventListener() call in actions.js.
2021-04-09 09:03:17 +02:00
Collin Anderson
1c004939d5
Fixed #32624 -- Avoided using JavaScript for "Local vars" show/hide in technical 500 debug page.
2021-04-09 06:33:53 +02:00
Adam Johnson
45a58c31e6
Fixed #32620 -- Allowed subclasses of Big/SmallAutoField for DEFAULT_AUTO_FIELD.
2021-04-08 13:17:08 +02:00
Claude Paroz
30e123ed35
Fixed #32575 -- Added support for SpatiaLite 5.
2021-04-08 09:36:29 +02:00
Mariusz Felisiak
dc824e2668
Refs #27488 -- Corrected detection of IsValid() support on SpatiaLite.
...
LWGEOM is not required for IsValid().
2021-04-08 09:31:16 +02:00
Claude Paroz
3ae4344bbd
Dropped support for GEOS 3.5 and GDAL 2.0.
2021-04-07 20:39:30 +02:00
girishsontakke
98abc0c90e
Fixed #32501 -- Added support for returning fields from INSERT statements on SQLite 3.35+.
2021-04-07 20:09:56 +02:00
Adam Johnson
d9de74141e
Fixed #32442 -- Used converters on returning fields from INSERT statements.
2021-04-07 17:10:00 +02:00
Mariusz Felisiak
619f26d289
Refs #32074 -- Made ExclusionConstraint.__repr__() use Deferrable.__repr__().
...
Follow up to c6859f1a68
.
2021-04-07 17:07:53 +02:00
Claude Paroz
e3cfba0029
Fixed #32544 -- Confirmed support for GDAL 3.2 and GEOS 3.9.
2021-04-07 15:54:24 +02:00
Mariusz Felisiak
c6859f1a68
Refs #32074 -- Backported Enum.__repr__() from Python 3.10.
...
Enum.__repr__() was changed in [1], we should use the same format in
Python < 3.10.
[1] https://bugs.python.org/issue40066
2021-04-07 10:28:40 +02:00
Mariusz Felisiak
d4d800ca1a
Fixed CVE-2021-28658 -- Fixed potential directory-traversal via uploaded files.
...
Thanks Claude Paroz for the initial patch.
Thanks Dennis Brinkrolf for the report.
2021-04-06 08:15:17 +02:00
Claude Paroz
90b95d2959
Updated translations from Transifex.
...
Forwardport of 1ea5e98315
from stable/3.2.x.
2021-04-06 06:19:31 +02:00
Chris Jerdonek
a89e975caf
Fixed #32532 -- Made DiscoverRunner raise RuntimeError when a test label is a file path.
2021-04-02 12:54:08 +02:00
Chris Jerdonek
0af81b22b5
Refs #32532 -- Replaced is_discoverable() with try_importing().
2021-04-02 12:54:08 +02:00
Adam Johnson
e32722d160
Fixed #32383 -- Added source map support to ManifestStaticFilesStorage.
2021-04-02 12:21:21 +02:00
William Schwartz
9ee693bd6c
Fixed #32316 -- Deferred accessing __file__.
...
Deferred accessing the module-global variable __file__ because the
Python import API does not guarantee it always exists—in particular, it
does not exist in certain "frozen" environments. The following changes
advanced this goal.
Thanks to Carlton Gibson, Tom Forbes, Mariusz Felisiak, and Shreyas
Ravi for review and feedback.
2021-04-01 14:33:30 +02:00
Mariusz Felisiak
cfe47b7686
Fixed #32610 -- Fixed get_git_changeset() on Linux.
...
shell=True is required on Windows. Unfortunately passing a sequence to
subprocess.run() behaves differently on Linux, i.e. the first item
specifies the command string, and any additional items are treated as
additional arguments to the shell itself.
https://docs.python.org/3.9/library/subprocess.html#subprocess.Popen
https://docs.python.org/3.9/library/subprocess.html#converting-an-argument-sequence-to-a-string-on-windows
Regression in a44d80f88e
.
2021-04-01 11:11:07 +02:00
Mariusz Felisiak
548dce50cf
Removed unnecessary left/right in admin sidebar CSS.
2021-03-31 20:34:15 +02:00
Maxim Milovanov
d915dd1c58
Fixed #32204 -- Added quick filter to admin's navigation sidebar.
2021-03-31 09:31:37 +02:00
William Schwartz
7248afe12f
Refs #32105 -- Moved ExceptionReporter template paths to properties.
...
Refs #32316 .
2021-03-31 08:41:57 +02:00
bankc
db5b75f10f
Fixed #31840 -- Added support for Cross-Origin Opener Policy header.
...
Thanks Adam Johnson and Tim Graham for the reviews.
Co-authored-by: Tim Graham <timograham@gmail.com>
2021-03-30 19:59:24 +02:00
Mariusz Felisiak
f6018c1e63
Fixed #32595 -- Fixed SchemaEditor.quote_value() crash with bytes.
2021-03-30 11:42:15 +02:00
Chris Jerdonek
038940cf55
Fixed #29127 -- Prevented DiscoverRunner from hiding tagged test with syntax errors.
...
This mades _FailedTest objects always match tags in DiscoverRunner.
2021-03-30 10:26:20 +02:00
Daniyal
7c08f26bf0
Fixed #32260 -- Made View.as_view() do not use update_wrapper().
...
View.as_view() should not use update_wrapper() for copying attributes
it's unintended and have side-effects such as adding `self` to the
signature.
This also fixes system check for arguments of custom error handler
views with class-based views.
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
2021-03-30 07:58:09 +02:00
Adam Johnson
0c0b87725b
Refs #32260 -- Made admindocs and technical 404 debug page use view_func.view_class.
...
Internals of admindocs and technical 404 debug page should use the
view_class attribute and do not rely on __name__.
2021-03-30 06:51:27 +02:00
Nick Pope
41850eec99
Fixed #32572 -- Improved ResolverMatch.__repr__().
...
When a partial function was passed as the view, the __repr__() would
show the `func` argument as `functools.partial` which isn't very
helpful, especially as it doesn't reveal the underlying function or
arguments provided.
2021-03-29 11:28:56 +02:00
Nick Pope
2f13c476ab
Fixed #31487 -- Added precision argument to Round().
2021-03-29 09:43:08 +02:00
Chris Jerdonek
61d5e57353
Simplified and optimized test_match_tags().
...
This simplifies and optimizes runner.py's test_match_tags() because it
(1) uses isdisjoint() instead of intersection(), which involves
constructing a new set, (2) eliminates a set operation when tags is
falsey, (3) eliminates the need for a matched_tags variable, and (4)
uses fewer not's, which should make it easier to parse and understand.
2021-03-29 09:21:20 +02:00
Hasan Ramezani
ed0cc52dc3
Fixed #32585 -- Fixed Value() crash with DecimalField on SQLite.
2021-03-29 06:22:36 +02:00
Chris Jerdonek
dcb06c2c68
Fixed #32591 -- Made DiscoverRunner order _FailedTest objects first.
...
Failures detected when loading tests are ordered before all of the
above for quicker feedback. This includes things like test modules that
couldn't be found or that couldn't be loaded due to syntax errors.
2021-03-26 12:18:27 +01:00
William Schwartz
cecdec91cf
Refs #32355 -- Corrected comments about Python's _NamespacePath.
...
_NamespacePath supports indexing in Python 3.8+.
2021-03-26 10:17:10 +01:00
Chris Jerdonek
ff514309e1
Fixed #32578 -- Fixed crash in CsrfViewMiddleware when a request with Origin header has an invalid host.
2021-03-25 10:34:58 +01:00
Chris Jerdonek
f3825248a2
Refs #32579 -- Fixed cookie domain comment in CsrfViewMiddleware.process_view().
2021-03-25 06:48:36 +01:00
Chris Jerdonek
70332e6c43
Refs #32579 -- Optimized good_hosts creation in CsrfViewMiddleware.process_view().
2021-03-25 06:39:35 +01:00
Girish Sontakke
5388ff2a52
Fixed #32582 -- Removed unnecessary dot in names of cloned test databases on SQLite.
2021-03-25 06:37:01 +01:00
Chris Jerdonek
f5a2244217
Fixed typo in DiscoverRunner --reverse help text.
2021-03-24 13:39:06 +01:00
Chris Jerdonek
235d23cf99
Refs #32532 -- Added DiscoverRunner.load_tests_for_label().
2021-03-24 13:03:53 +01:00
Mariusz Felisiak
94463aa861
Removed trailing whitespaces in error messages.
2021-03-24 11:44:01 +01:00
Adam Donaghy
cdd0b213a8
Fixed #29606 -- Added type check for ALLOWED_HOSTS setting.
2021-03-24 09:18:44 +01:00
Nick Pope
a96c730431
Fixed #32460 -- Allowed "label"/"do_not_call_in_templates" members in model choice enums.
2021-03-24 07:45:33 +01:00
Florian Demmer
3a185cee2a
Fixed #32573 -- Fixed bounds in __iso_year lookup optimization.
2021-03-23 21:27:55 +01:00
Nick Pope
6efc35b4fe
Optimized django.utils.text.capfirst().
...
Unconditionally coercing to str type twice is expensive.
2021-03-23 10:45:58 +01:00
Mariusz Felisiak
71ec102b01
Fixed #32483 -- Fixed QuerySet.values()/values_list() on JSONField key transforms with booleans on SQLite.
...
Thanks Matthew Cornell for the report.
2021-03-23 08:28:47 +01:00
Adam Johnson
562898034f
Refs #31732 -- Fixed django.utils.inspect caching for bound methods.
...
Thanks Alexandr Artemyev for the report, and Simon Charette for the
original patch.
2021-03-22 13:17:54 +01:00
Claude Paroz
d11b9ffcc0
Fixed #32581 -- Prevented to_locale() from corrupting locale names.
2021-03-22 07:08:58 +01:00
Baptiste Mispelon
41e6b2a3c5
Fixed #32556 -- Fixed handling empty string as non-boolean attributes value by assertHTMLEqual().
2021-03-19 20:41:57 +01:00
Baptiste Mispelon
98abf80cde
Refs #32556 -- Added django.test.html.normalize_attributes().
2021-03-19 20:41:53 +01:00
Adam Donaghy
e49fdfa405
Fixed #32571 -- Made CsrfViewMiddleware handle invalid URLs in Referer header.
2021-03-19 11:19:19 +01:00
Daniyal
474cc420bf
Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.core.
2021-03-19 08:04:37 +01:00
Tim Graham
2411b8b5eb
Fixed #16010 -- Added Origin header checking to CSRF middleware.
...
Thanks David Benjamin for the original patch, and Florian
Apolloner, Chris Jerdonek, and Adam Johnson for reviews.
2021-03-18 20:25:20 +01:00
Tim Graham
dba44a7a7a
Refs #16010 -- Required CSRF_TRUSTED_ORIGINS setting to include the scheme.
2021-03-18 20:00:22 +01:00
Hasan Ramezani
9bf5e9418f
Fixed #32556 -- Fixed assertHTMLEqual() to handle empty string as boolean attributes value.
2021-03-18 16:30:15 +01:00
Adam Johnson
f6713cda89
Fixed #31370 -- Added support for parallel tests with --buffer.
2021-03-18 15:30:47 +01:00
Adam Johnson
e3bca22e7e
Refs #31370 -- Made RemoteTestResult subclass unittest.TestResult.
2021-03-18 15:30:47 +01:00
Johannes Maron
03d0f12c82
Fixed #32466 -- Corrected autocomplete to_field resolution for complex cases.
...
In MTI or ForeignKey as primary key cases, it is required to fetch the attname
from the field instance on the remote model in order to reliably resolve the
to_field_name.
Co-authored-by: Johannes Maron <info@johanneshoppe.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2021-03-18 11:21:23 +01:00
Hasan Ramezani
ceb4b9ee68
Fixed #32547 -- Corrected notes about validation in HTML assertions docs.
2021-03-18 10:21:49 +01:00
Jonathan Richards
00b0786de5
Fixed #32548 -- Fixed crash when combining Q() objects with boolean expressions.
2021-03-17 21:53:39 +01:00
Adam Johnson
45814af619
Fixed #32560 -- Fixed test runner with --pdb and --buffer on fail/error.
2021-03-17 20:56:09 +01:00
Tiago Honorato
4f4f770f77
Refs #24121 -- Added __repr__() to Origin and Template.
2021-03-17 07:49:55 +01:00
Daniyal
54d9179540
Refs #32508 -- Raised ImproperlyConfigured instead of using "assert" in SessionStorage.
2021-03-16 09:01:49 +01:00