Simon Charette
35911078fa
Replaced Expression.replace_references() with .replace_expressions().
...
The latter allows for more generic use cases beyond the currently
limited ones constraints validation has.
Refs #28333 , #30581 .
2022-08-11 09:53:10 +02:00
Mariusz Felisiak
8533a6af8d
Optimized ExclusionConstraint.validate() a bit.
...
References to excluded fields are omitted in the replacement_map, so
there is no need to replace references before checking for exclusions.
2022-08-11 09:53:10 +02:00
Mariusz Felisiak
fc0942ada4
Used F.replace_references().
...
Follow up to 63884829ac
.
2022-08-11 09:53:10 +02:00
Rust Saiargaliev
8403da3696
Fixed #28975 -- Made PostGIS backend skip extension creation if installed.
2022-08-10 13:42:53 +02:00
Mariusz Felisiak
721706f4c4
Refs #33895 -- Fixed Case() crash with filters that match everything in When() on Oracle.
...
Follow up to 036bb2b74a
.
2022-08-10 12:28:39 +02:00
David Sanders
e0ae1363ec
Fixed #33905 -- Fixed CheckConstraint() validation on range fields.
...
Bug in 667105877e
.
2022-08-09 20:13:21 +02:00
Mariusz Felisiak
f3a06b06b5
Removed unused InlineAdminForm.ordering_field().
...
Unused since its introduction in a19ed8aea3
.
2022-08-09 09:26:12 +02:00
David Wobrock
036bb2b74a
Fixed #33895 -- Fixed Case() crash with filters that match everything in When().
...
Thanks shukryzablah for the report.
2022-08-09 07:55:31 +02:00
Mariusz Felisiak
63884829ac
Fixed #33902 -- Fixed Meta.constraints validation crash with F() expressions.
...
Thanks Adam Zahradník for the report.
Bug in 667105877e
.
2022-08-09 06:08:48 +02:00
Kamil Turek
e03cdf76e7
Fixed #31721 -- Allowed ModelForm meta to specify form fields.
2022-08-08 09:46:05 +02:00
Fiza Ashraf
c0beff2123
Fixed #33899 -- Fixed migration crash when removing indexed field on SQLite 3.35.5+.
...
Regression in 702819227fd0cdd9b581cd99e11d1561d51cbeb.
Thanks cessor for the report.
2022-08-08 06:28:53 +02:00
Mariusz Felisiak
fd93db97c7
Fixed #33898 -- Fixed Window() expression crash with ArrayAgg().
...
Thanks Kia for the report.
Regression in e06dc4571e
.
2022-08-06 17:59:31 +02:00
Fab
0756c61f2a
Fixed #33893 -- Reverted "Fixed #28889 -- Prevented double submission of admin forms."
...
Regression in fe7dbef586
.
2022-08-05 16:38:52 +02:00
Mariusz Felisiak
d4db417c8e
Fixed #33891 -- Fixed test command crash when running in parallel using spawn.
...
Thanks Kevin Renskers for the report.
Regression in 41c4cb253c
.
2022-08-04 09:16:38 +02:00
Claude Paroz
0638b4e23d
Fixed #33888 -- Fixed get_select2_language() crash with no language activated.
...
Regression in 3079133c73
.
2022-08-03 19:51:25 +02:00
Aarni Koskela
e7afb8a180
Fixed #33886 -- Reallowed using GeoIP2() when GEOS is not installed.
...
Regression in 31bef51d8e
.
2022-08-03 16:55:23 +02:00
Mariusz Felisiak
cb791a2540
Fixed #33872 -- Deprecated django.contrib.postgres.fields.CIText/CICharField/CIEmailField/CITextField.
2022-08-03 11:42:51 +02:00
Carlton Gibson
bd062445cf
Fixed CVE-2022-36359 -- Escaped filename in Content-Disposition header.
...
Thanks to Motoyasu Saburi for the report.
2022-08-03 08:46:31 +02:00
Mariusz Felisiak
919e65b21e
Updated translations from Transifex.
...
This also fixes related i18n tests.
Forwardport of a3bab93324
from stable/4.1.x.
Co-authored-by: Claude Paroz <claude@2xlibre.net>
2022-08-03 08:04:34 +02:00
Sarah Abderemane
bc7aa2a5e9
Fixed #33690 -- Added switch button for dark mode in the admin.
2022-08-02 17:14:24 +02:00
Mariusz Felisiak
ab1955a05e
Fixed #33881 -- Added support for database collations to ArrayField(Char/TextFields).
2022-08-02 11:44:26 +02:00
Carlton Gibson
89e695a69b
Fixed #33876 , Refs #32229 -- Made management forms render with div.html template.
...
Thanks to Claude Paroz for the report.
2022-08-02 10:30:09 +02:00
Claude Paroz
44c24bf028
Refs #25706 -- Removed inline CSS in the openlayers widget template.
2022-08-01 20:29:49 +02:00
Claude Paroz
2aa6fb2121
Made MapWidget a JS class.
2022-08-01 09:33:08 +02:00
Mariusz Felisiak
c18861804f
Fixed warnings per flake8 5.0.0.
2022-07-31 08:16:19 +02:00
Claude Paroz
1e5bbbb2a8
Fixed #33442 -- Allowed GeoIP2 to use DB-IP Lite datasets.
2022-07-30 19:29:45 +02:00
Marcelo Galigniana
564437f767
Fixed #33726 -- Added skip-link to admin for keyboard navigation.
2022-07-28 11:52:48 +02:00
Mariusz Felisiak
88dba2e3fd
Fixed collation tests on MySQL 8.0.30+.
...
The utf8_ collations are renamed to utf8mb3_* on MySQL 8.0.30+.
2022-07-27 21:36:25 +02:00
Nick Pope
9dff316be4
Refs #32948 , Refs #32946 -- Used Q.create() internally for dynamic Q() objects.
...
Node.create() which has a compatible signature with Node.__init__()
takes in a single `children` argument rather than relying in unpacking
*args in Q.__init__() which calls Node.__init__().
In addition, we were often needing to unpack iterables into *args and
can instead pass a list direct to Node.create().
2022-07-27 10:06:24 +02:00
Nick Pope
845667f2d1
Refs #32948 -- Simplified and optimized Q._combine() and __invert__().
...
- Removed use of Q.deconstruct() in Q._combine().
- Simplified and optimized Q.__invert__() by taking a shallow copy and
swapping the negated attribute only.
- Simplified construction in Q._combine().
- Simplified conditions in Q._combine() as Q.conditional = True the
first isinstance() check is unnecessary.
- Removed copy.copy() branch in Q._combine().
Co-authored-by: Keryn Knight <keryn@kerynknight.com>
2022-07-27 10:06:24 +02:00
Nick Pope
19b866c254
Refs #32948 -- Added Node.__copy__().
...
This allows the copy.copy() usage in the Q._combine() method to finish
sooner, instead of having to fallback to using the __reduce_ex__(4)
method.
Thia also avoids having to fall into copy.copy() at in Q._combine(),
when combining a Q() with another Q().
Co-authored-by: Keryn Knight <keryn@kerynknight.com>
2022-07-27 10:06:24 +02:00
Nick Pope
ed9eca8457
Refs #32948 -- Simplified WhereNode and Node.__deepcopy__()/add().
...
We can use copy() in Node.add() instead of create() as we don't need the
children to be cloned via [:] subscript in __init__().
2022-07-27 10:06:24 +02:00
Nick Pope
ddf0002bb7
Refs #32948 -- Renamed Node._new_instance() to Node.create().
...
Node._new_instance() was added in
6dd2b5468f
to work around Q.__init__()
having an incompatible signature with Node.__init__().
It was intended as a hook that could be overridden if subclasses needed
to change the behaviour of instantiation of their specialised form of
Node. In practice this doesn't ever seem to have been used for this
purpose and there are very few calls to Node._new_instance() with other
code, e.g. Node.__deepcopy__() calling Node and overriding __class__ as
required.
Rename this to Node.create() to make it a more "official" piece of
private API that we can use to simplify a lot of other areas internally.
The docstring and nearby comment have been reworded to read more
clearly.
2022-07-27 10:06:24 +02:00
Nick Pope
4f8bc75bc3
Removed obsolete docstring from WhereNode.clone().
...
Node.subtree_parents was removed in
d3f00bd570
. That commit also added
Q.clone() which was identical to WhereNode.clone(), but lacked the
docstring. Q.clone() was later removed in
b454e2cbc9
.
2022-07-27 07:55:09 +02:00
Nick Pope
769d7cce4a
Used AND, OR, XOR constants instead of hard-coded values.
2022-07-27 07:55:09 +02:00
Mariusz Felisiak
66f30dbf25
Refs #27236 -- Reverted "Refs #27236 -- Refactored out DeprecationForHistoricalMigrationMixin."
...
This reverts commit 57793b4765
.
2022-07-26 11:41:19 +02:00
Mariusz Felisiak
a1e9e9abc5
Refs #27236 -- Reverted "Refs #27236 -- Added generic mechanism to handle the deprecation of migration operations."
...
This reverts commit 41019e48bb
.
2022-07-26 11:41:19 +02:00
Mariusz Felisiak
c773d5794e
Refs #27236 -- Reverted AlterIndexTogether deprecation.
...
This partly reverts a6385b382e
.
2022-07-26 11:41:19 +02:00
Claude Paroz
2d23a07817
Fixed #33866 -- Added pathlib.Path support to GDALRaster constructor.
2022-07-25 20:48:33 +02:00
Nick Pope
36cd425943
Simplified various built-in templates.
...
- Using the {% plural %} tag.
- Using the |yesno filter.
- Using the |unordered_list filter.
- Unnesting {% if %} where not required.
- Not duplicating {% if %}.
2022-07-25 10:20:46 +02:00
Nick Pope
390832e04a
Standardized formatting in technical 500 template.
...
- Prefer use of `k` and `v` instead of `var.0` and `var.1`.
- Fixed indentation of #files-info block to match adjacent blocks.
2022-07-25 10:19:47 +02:00
Claude Paroz
f2dd652245
Fixed #33863 -- Fixed JavaScriptCatalog with more than 1 level of fallback translations.
...
Co-authored-by: Carlos Mermingas <cmermingas@gmail.com>
2022-07-25 08:45:46 +02:00
Anders Kaseorg
9ba2e8821f
Removed obsolete note in management.get_commands() docstring.
...
Commit 901c3708fb
documented that the
return dict could directly include command modules instead of name
strings, which was true at the time. However, that possibility was
removed in commit 38f1fe3b35
.
2022-07-25 07:55:52 +02:00
Ikko Ashimine
85df081add
Fixed typo in django/contrib/admin/options.py comment.
2022-07-25 07:19:52 +02:00
Claude Paroz
3b79dab19a
Refs #33691 -- Deprecated insecure password hashers.
...
SHA1PasswordHasher, UnsaltedSHA1PasswordHasher, and UnsaltedMD5PasswordHasher
are now deprecated.
2022-07-23 21:29:31 +02:00
Nick Pope
4d4bf55e0e
Fixed #33864 -- Deprecated length_is template filter.
2022-07-23 12:36:21 +02:00
Mariusz Felisiak
f810325721
Refs #27236 -- Made cosmetic edits to Meta.index_together deprecation.
...
This should make it more straightforward to move forward when
deprecation ends.
2022-07-21 07:05:50 +02:00
Mariusz Felisiak
0e76abb8c4
Stopped using default adapters/converters on SQLite backend.
...
Default adapters/converters were deprecated in Python 3.12,
see https://github.com/python/cpython/issues/90016 .
2022-07-21 07:03:32 +02:00
Leonid Podriz
eae973df66
Fixed #33833 -- Corrected .closelink admin CSS.
...
Co-authored-by: Leonid Podriz <leonidpodriz@pm.me>
2022-07-20 21:58:10 +02:00
Mariusz Felisiak
24effbceb8
Fixed #33855 -- Removed unnecessary system check calls from test worker initialization.
...
Regression in 3b3f38b3b0
.
2022-07-19 09:45:11 +02:00
Jarrett Keifer
3e3e814166
Fixed #33854 -- Corrected the order of parameters in dbshell on PostgreSQL.
2022-07-18 06:30:20 +02:00
Alexander Freyr L
b4817d20b9
Fixed #33728 -- Reordered submit buttons in admin.
...
Thanks Tom Carrick and Thibaud Colas for reviews.
2022-07-17 13:23:53 +02:00
Iuri de Silvio
f0fa2a3b49
Fixed #33848 -- Optimized StateApps.clone().
2022-07-16 10:12:32 +02:00
cheng
d4c5d2b52c
Fixed #33631 -- Marked {% blocktranslate asvar %} result as HTML safe.
2022-07-14 11:09:19 +02:00
David Wobrock
a6385b382e
Fixed #27236 -- Deprecated Meta.index_together in favor of Meta.indexes.
...
This also deprecates AlterIndexTogether migration operation.
2022-07-12 09:04:31 +02:00
Tim Graham
282d58e193
Refs #25232 -- Simplified ModelBackend.user_can_authenticate().
...
Thanks Jay Turner for the suggestion.
2022-07-11 20:27:11 +02:00
Mariusz Felisiak
5e2f4ddf29
Refs CVE-2022-34265 -- Unified DatabaseOperations._convert_*_to_tz() hook names.
2022-07-09 13:02:07 +02:00
Mariusz Felisiak
eb3699ea77
Fixed #33718 -- Dropped support for MySQL 5.7.
2022-07-08 13:30:12 +02:00
Stéphane "Twidi" Angel
ccbf714ebe
Fixed #33829 -- Made BaseConstraint.deconstruct() and equality handle violation_error_message.
...
Regression in 667105877e
.
2022-07-08 08:17:42 +02:00
David Wobrock
41019e48bb
Refs #27236 -- Added generic mechanism to handle the deprecation of migration operations.
2022-07-08 07:05:55 +02:00
David Wobrock
57793b4765
Refs #27236 -- Refactored out DeprecationForHistoricalMigrationMixin.
2022-07-07 12:21:35 +02:00
Carlton Gibson
6f80050496
Fixed #33781 -- Restored alignment for admin split-field timezone warnings.
...
Regression in f3e2bb0833
.
Refs #33750 and #27207 .
2022-07-07 11:32:05 +02:00
Christos Kopanos
608ab043f7
Fixed #33826 -- Fixed RedisCache.set_many()/delete_many() crash with an empty list.
2022-07-06 10:45:52 +02:00
Christos Kopanos
fcee0d3fb6
Used list comprehensions in RedisCache.delete_many().
2022-07-06 10:37:20 +02:00
Vladimir Kochetkov
3926e35aa8
Fixed #33823 -- Made inspectdb generate unique related_name when reverse accessor clashes.
2022-07-06 09:35:50 +02:00
Simon Charette
877c800f25
Refs CVE-2022-34265 -- Properly escaped Extract() and Trunc() parameters.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2022-07-06 07:40:07 +02:00
Shawn Dong
18c5ba07cc
Fixed #33822 -- Fixed save() crash on model formsets when not created by modelformset_factory().
...
Thanks Claude Paroz for the report.
Regression in e87f57fdb8
.
2022-07-05 07:19:18 +02:00
Mariusz Felisiak
249ecc437f
Fixed #33815 -- Fixed last_executed_query() on Oracle when parameter names overlap.
2022-07-05 05:53:49 +02:00
Mariusz Felisiak
54eb8a374d
Fixed CVE-2022-34265 -- Protected Trunc(kind)/Extract(lookup_name) against SQL injection.
...
Thanks Takuto Yoshikai (Aeye Security Lab) for the report.
2022-07-04 08:13:41 +02:00
Ipakeev
425718726b
Fixed #33816 -- Fixed QuerySet.only() after select_related() crash on proxy models.
2022-07-04 06:37:36 +02:00
Michael Manfre
03eec9ff6c
Updated vendored _urlsplit() to strip newline and tabs.
...
Refs Python CVE-2022-0391. Django is not affected, but others who
incorrectly use internal function url_has_allowed_host_and_scheme()
with unsanitized input could be at risk.
2022-07-01 08:48:38 +02:00
Hrushikesh Vaidya
72e41a0df6
Fixed #33779 -- Allowed customizing encoder class in django.utils.html.json_script().
2022-06-28 10:54:38 +02:00
Mehrdad
d4d5427571
Refs #33697 -- Used django.utils.http.parse_header_parameters() for parsing boundary streams.
...
This also removes unused parse_header() and _parse_header_params()
helpers in django.http.multipartparser.
2022-06-28 09:42:47 +02:00
Mariusz Felisiak
bff5c114be
Removed unnecessary _parse_header() from MultiPartParser.
...
Reraising ValueError was unused since its introduction in
d725cc9734
.
2022-06-28 09:27:03 +02:00
Mehrdad
d6e0c7c30c
Refs #33697 -- Made MediaType use django.utils.http.parse_header_parameters().
2022-06-28 07:33:41 +02:00
Ankur
eb7b8f3699
Fixed #33805 -- Made admin's many-to-many widgets do not display help text for selecting values when allow_multiple_selected is False.
2022-06-28 06:04:42 +02:00
Mariusz Felisiak
c48b34e26d
Refs #32786 -- Made query clear ordering when ordered combined queryset is used in subquery on Oracle.
2022-06-27 06:21:31 +02:00
Mariusz Felisiak
20b6e30858
Refs #33713 -- Removed unnecessary skip for MariaDB 10.3.
2022-06-27 06:21:31 +02:00
Mariusz Felisiak
44ffd8d06f
Fixed #33796 -- Fixed ordered combined queryset crash when used in subquery on PostgreSQL and MySQL.
...
Thanks Shai Berger for the report.
Regression in 30a0144134
.
2022-06-27 06:21:31 +02:00
Mariusz Felisiak
083bfca6b6
Fixed #33800 -- Fixed system check for the same template tag module in installed apps and template tag libraries.
...
Thanks Claude Paroz for the report.
Regression in 004b4620f6
.
2022-06-23 20:22:59 +02:00
DhruvaPatil98
c627226d05
Fixed #33799 , Refs #31685 -- Added parameters for updating conflicts to QuerySeta.abulk_create().
2022-06-23 11:12:35 +02:00
Florian Apolloner
e6f36ea0a9
Made HashedFilesMixin ignore URLs without a path.
2022-06-23 08:59:49 +02:00
Marcelo Galigniana
d80a258553
Fixed #33028 -- Used ModelAdmin's opts attribute instead of model._meta.
2022-06-22 07:50:24 +02:00
Claude Paroz
de74a74b4b
Fixed #33794 -- Fixed string-casting of GIS queries on PostgreSQL.
...
Regression in 64c3f049ea
.
2022-06-21 10:10:37 +02:00
Abhinav Yadav
2887b9f67c
Fixed #33657 -- Allowed customizing formatter class of argument parsers.
2022-06-20 17:34:52 +02:00
Anv3sh
d7f5bfd241
Fixed #32969 -- Fixed pickling HttpResponse and subclasses.
2022-06-20 08:51:26 +02:00
Zainab Amir
901a169198
Fixed #23689 -- Made parsing HTTP Accept-Language header case-insensitive.
...
Thank you Daniel Samuels for test project.
2022-06-20 07:40:28 +02:00
Ankur
d19a53d8e3
Fixed #33784 -- Removed unnecessary format escaping in admin calendar widget.
...
Replacements were added in fa0653cd1d
where we created a callback function by concatenating strings. It's
unnecessary since d638cdc42a
.
2022-06-18 20:21:28 +02:00
Matt Brewer
8d160f154f
Fixed #33788 -- Added TrigramStrictWordSimilarity() and TrigramStrictWordDistance() on PostgreSQL.
2022-06-17 11:14:30 +02:00
David Wobrock
3ef37a5245
Fixed #28897 -- Fixed QuerySet.update() on querysets ordered by annotations.
2022-06-17 10:06:17 +02:00
David Wobrock
f4680a112d
Refs #28897 -- Added test for QuerySet.update() on querysets ordered by inline m2m annotation.
2022-06-17 10:06:12 +02:00
David Wobrock
e286ce17ff
Fixed #24870 -- Added --update option to makemigrations command.
2022-06-17 07:50:39 +02:00
David Wobrock
3893fcdd94
Refs #24870 -- Refactored out get_relative_path() hook in makemigrations.
2022-06-17 06:02:42 +02:00
Mariusz Felisiak
759ff4862a
Fixed #33786 -- Confirmed support for GDAL 3.5.
2022-06-16 09:44:19 +02:00
Pablo Pissi
d287294885
Fixed #33772 -- Added QuerySet.first()/last() error message on unordered queryset with aggregation.
2022-06-14 12:24:43 +02:00
Bruce Cutler
de1c8320ce
Fixed #33773 -- Made Index with multiple fields respect DEFAULT_INDEX_TABLESPACE.
...
Thanks to Simon Charette for locating where issue lay.
2022-06-13 07:21:46 +02:00
Ebram Shehata
4996eaa7b5
Made QuerySet.bulk_update() raise an error when batch_size is zero.
2022-06-13 06:25:25 +02:00
Jonas Lundberg
e96320c917
Fixed #33755 -- Moved ASGI body-file cleanup into request class.
2022-06-09 11:11:45 +02:00
Ronnie van den Crommenacker
c32858a8ce
Fixed #33565 -- Improved locale format validation for the makemessages command.
2022-06-08 16:17:12 +02:00
Mehrdad
49b470b918
Refs #33697 -- Made MultiPartParser use django.utils.http.parse_header_parameters() for parsing Content-Type header.
2022-06-03 21:37:29 +02:00