David Sanders
e14d08cd89
Fixed #33996 -- Fixed CheckConstraint validation on NULL values.
...
Bug in 667105877e
.
Thanks James Beith for the report.
2022-09-13 12:48:31 +02:00
Sergey Fursov
b731e88415
Fixed #31335 -- Fixed removing composed composed Meta constraints/indexes on foreign keys on MySQL.
2022-09-13 10:38:57 +02:00
Sergey Fursov
1b08e9bf7d
Refs #31335 -- Added more tests for removing composed Meta constraints/indexes on foreign keys.
2022-09-12 13:52:06 +02:00
Jimmy Angelakos
07ebef566f
Refs #34000 -- Optimized handling None values in numberformat.format().
2022-09-12 13:02:50 +02:00
Jimmy Angelakos
e911e0996f
Fixed #34000 -- Fixed numberformat.format() crash on empty strings.
2022-09-12 12:54:12 +02:00
DevilsAutumn
f3cd252cfc
Fixed #33995 -- Fixed FormSet.empty_form crash when empty_permitted is passed to form_kwargs.
2022-09-09 13:51:47 +02:00
DevilsAutumn
32797e7fbf
Fixed #33975 -- Fixed __in lookup when rhs is a queryset with annotate() and alias().
...
This fixes clearing selected fields.
2022-09-09 08:37:46 +02:00
Simon Charette
32536b1324
Fixed #33992 -- Fixed queryset crash when aggregating over a group containing Exists.
...
A more in-depth solution is likely to make sure that we always GROUP BY
selected annotations or revisit how we use Query.exists() in the Exists
expression but that requires extra work that isn't suitable for a
backport.
Regression in e5a92d400a
.
Thanks Fernando Flores Villaça for the report.
2022-09-08 05:50:02 +02:00
Mariusz Felisiak
a2e580acf6
Refs #24179 -- Fixed selenium tests for offset of admin selector boxes in fieldset.
...
Regression in be63c78760
.
2022-09-07 12:02:08 +02:00
James Beith
19e838daa8
Fixed #33982 -- Fixed migrations crash when adding model with ExclusionConstraint.
...
Regression in 0e656c02fe
.
2022-09-07 08:40:56 +02:00
SirAbhi13
4a1150b41d
Fixed #33616 -- Allowed registering callbacks that can fail in transaction.on_commit().
...
Thanks David Wobrock and Mariusz Felisiak for reviews.
2022-09-06 12:21:36 +02:00
Mariusz Felisiak
69fa2e8eb2
Refs #26780 -- Made prefetch_related() don't use window expressions fo sliced queries if not supported.
2022-09-06 05:54:35 +02:00
Mark Evans
19e0587ee5
Fixed #33937 -- Optimized serialization of related m2m fields without natural keys.
2022-09-05 20:23:32 +02:00
Allen Jonathan David
cd1afd553f
Fixed #29799 -- Allowed registering lookups per field instances.
...
Thanks Simon Charette and Mariusz Felisiak for reviews and mentoring
this Google Summer of Code 2022 project.
2022-09-02 10:02:24 +02:00
Shai Berger
fdf0f62521
Fixed ReadOnlyPasswordHashWidget's template for RTL languages.
2022-09-01 21:20:15 +02:00
Mariusz Felisiak
974942a750
Fixed #33955 , Fixed #33971 -- Reverted "Fixed #32565 -- Moved internal URLResolver view-strings mapping to admindocs."
...
This reverts commit 7f3cfaa12b
.
Thanks Tom Carrick and Greg Kaleka for reports.
2022-09-01 21:09:16 +02:00
Allen Jonathan David
e64919ae54
Refs #29799 -- Added more tests for registering lookups.
2022-09-01 09:59:31 +02:00
Simon Charette
b3db6c8dcb
Fixed #21204 -- Tracked field deferrals by field instead of models.
...
This ensures field deferral works properly when a model is involved
more than once in the same query with a distinct deferral mask.
2022-08-30 08:43:53 +02:00
Simon Charette
5d12650ed9
Refs #21204 -- Added more QuerySet.defer()/only() tests for invalid fields.
2022-08-30 07:09:15 +02:00
Mariusz Felisiak
a9e7beb959
Refs #33953 -- Fixed test_rename_model_with_db_table_rename_m2m() crash on SQLite < 3.20.
2022-08-29 10:07:53 +02:00
Mariusz Felisiak
f210de760b
Refs #28333 -- Fixed NonQueryWindowTests.test_invalid_filter() on databases that don't support window expressions.
2022-08-29 09:14:56 +02:00
Mohamed Karam
b92ffebb0c
Fixed #33954 -- Prevented models.DecimalField from accepting NaN, Inf, and -Inf values.
2022-08-27 15:51:08 +02:00
David Wobrock
806e9e2d0d
Fixed #33952 -- Reallowed creating reverse foreign key managers on unsaved instances.
...
Thanks Claude Paroz for the report.
Regression in 7ba6ebe914
.
2022-08-27 15:03:48 +02:00
Simon Charette
0701bb8e1f
Fixed #33928 -- Avoided unnecessary queries when cascade updating.
...
Models that use SET, SET_NULL, and SET_DEFAULT as on_delete handler
don't have to fetch objects for the sole purpose of passing them back to
a follow up UPDATE query filtered by the retrieved objects primary key.
This was achieved by flagging SET handlers as _lazy_ and having the
collector logic defer object collections until the last minute. This
should ensure that the rare cases where custom on_delete handlers are
defined remain uncalled when when dealing with an empty collection of
instances.
This reduces the number queries required to apply SET handlers from
2 to 1 where the remaining UPDATE use the same predicate as the non
removed SELECT query.
In a lot of ways this is similar to the fast-delete optimization that
was added in #18676 but for updates this time. The conditions only
happen to be simpler in this case because SET handlers are always
terminal. They never cascade to more deletes that can be combined.
Thanks Renan GEHAN for the report.
2022-08-27 14:25:55 +02:00
Iuri de Silvio
166a3b3263
Fixed #33953 -- Reverted "Fixed #33201 -- Made RenameModel operation a noop for models with db_table."
...
Regression in afeafd6036
.
This reverts afeafd6036
.
Thanks Timothy Thomas for the report.
2022-08-26 06:14:44 +02:00
Simon Charette
71902e0d9f
Fixed #33938 -- Fixed migration crash for m2m with a through model in another app.
...
Regression in aa4acc164d
.
Thanks bryangeplant for the report.
2022-08-25 10:03:57 +02:00
Neeraj Kumar
9942f3fb49
Fixed #33830 -- Fixed VariableDoesNotExist when rendering ClearableFileInput.
2022-08-25 07:52:36 +02:00
Willem Van Onsem
16fffc829c
Fixed #33916 -- Added support for serialization of enum.Flag in migrations.
2022-08-25 06:43:48 +02:00
Simon Charette
b30c0081d4
Refs #27412 -- Confirmed support for executing Coalesce(subquery).
...
This has been supported for subqueries wrapped in Subquery since the expression
was introduced and for Queryset directly since Subquery resolves to sql.Query.
Piggy-backed on the existing tests covering Coalesce handling of EmptyResultSet
as it seemed like a proper location to combine testing.
2022-08-24 12:30:47 +02:00
David Wobrock
897f38fabe
Fixed #33927 -- Fixed crash when displaying ArrayField with choices in admin.
2022-08-23 15:51:42 +02:00
Claude Paroz
4488a25cc9
Removed unused path variable in model_fields tests.
2022-08-23 15:34:07 +02:00
Claude Paroz
903ac2f364
Fixed #33949 -- Fixed fixture dirs duplicates with Path instances.
2022-08-23 13:24:18 +02:00
Mariusz Felisiak
e9fd2b5724
Refs #26511 -- Fixed json.KeyTextTransform() on MySQL/MariaDB.
2022-08-18 21:02:29 +02:00
Tom Carrick
bd36023100
Used CSS flex for admin's submit row.
2022-08-18 12:29:40 +02:00
Benoît Vinot
e3cb8bcb7d
Fixed #33932 -- Fixed altering AutoFields to OneToOneField on PostgreSQL.
...
Regression in 2eea361eff
.
2022-08-17 17:06:00 +02:00
Tom Carrick
d46cc15c51
Fixed #33878 -- Switched to system fonts in CSS.
2022-08-17 10:19:00 +02:00
Willem Van Onsem
08688bd7dd
Refs #33916 -- Added tests for serialization of enum.Flag in migrations.
2022-08-16 07:52:27 +02:00
Simon Charette
242499f2dc
Fixed #26780 -- Added prefetch_related() support for sliced queries.
...
This was made possible by window function filtering support added in
f387d024fc
.
2022-08-15 10:25:20 +02:00
Simon Charette
f387d024fc
Refs #28333 -- Added partial support for filtering against window functions.
...
Adds support for joint predicates against window annotations through
subquery wrapping while maintaining errors for disjointed filter
attempts.
The "qualify" wording was used to refer to predicates against window
annotations as it's the name of a specialized Snowflake extension to
SQL that is to window functions what HAVING is to aggregates.
While not complete the implementation should cover most of the common
use cases for filtering against window functions without requiring
the complex subquery pushdown and predicate re-aliasing machinery to
deal with disjointed predicates against columns, aggregates, and window
functions.
A complete disjointed filtering implementation should likely be
deferred until proper QUALIFY support lands or the ORM gains a proper
subquery pushdown interface.
2022-08-15 08:26:26 +02:00
Haolun Chai
f3f9d03edf
Fixed #33901 -- Skipped varchar_pattern_ops/text_pattern_ops index creation when db_collation is set.
2022-08-15 06:28:35 +02:00
Mariusz Felisiak
5c803bc070
Fixed #33919 -- Fixed adding AutoFields on PostgreSQL.
...
Thanks Jack Calvin Brown for the report.
Regression in 2eea361eff
.
2022-08-12 17:30:23 +02:00
Claude Paroz
4fcba800b8
Fixed #33924 -- Deprecated BaseGeometryWidget.map_height/map_width attributes.
2022-08-12 13:26:35 +02:00
Carlton Gibson
e34dfad0a3
Refs #30213 -- Removed post-startup check for Watchman availability.
...
This is checked at startup in get_reloader(). The runtime check ties
the implementation to Watchman excessively.
2022-08-11 11:02:03 +02:00
David Sanders
e0ae1363ec
Fixed #33905 -- Fixed CheckConstraint() validation on range fields.
...
Bug in 667105877e
.
2022-08-09 20:13:21 +02:00
David Sanders
e0ac72fe80
Refs #33905 -- Added test for CheckConstraint() validation with ArrayField and __contains.
2022-08-09 20:06:59 +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
Carlton Gibson
88e67a54b7
Added test for non-HTTP request on ASGIStaticFilesHandler.
2022-08-08 07:27:32 +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
Carlton Gibson
f476c8847a
Refs #33173 , Refs #33755 -- Fixed ResourceWarning from unclosed files in ASGI tests.
2022-08-04 10:00:36 +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
Alberto Planas
4e13b40a76
Fixed #33887 -- Fixed test_fails_squash_migration_manual_porting() on final tags.
...
Regression in 7c318a8bdd
.
2022-08-03 16:36:04 +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
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
Mariusz Felisiak
c18861804f
Fixed warnings per flake8 5.0.0.
2022-07-31 08:16:19 +02:00
Marcelo Galigniana
564437f767
Fixed #33726 -- Added skip-link to admin for keyboard navigation.
2022-07-28 11:52:48 +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
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
cc52e02c96
Refs #32948 -- Added more tests for django.utils.tree.Node.
...
The tests for creating new instances or copying instances of Node and
its subclasses didn't fully capture the behaviour of the implementation,
particularly around whether the `children` list or is contents were the
same as the source.
2022-07-27 07:58:29 +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
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
7bdb682215
Fixed BasicExtractorTests.test_makemessages_find_files() test.
2022-07-26 07:23:45 +02:00
Claude Paroz
2d23a07817
Fixed #33866 -- Added pathlib.Path support to GDALRaster constructor.
2022-07-25 20:48:33 +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
Claude Paroz
3b79dab19a
Refs #33691 -- Deprecated insecure password hashers.
...
SHA1PasswordHasher, UnsaltedSHA1PasswordHasher, and UnsaltedMD5PasswordHasher
are now deprecated.
2022-07-23 21:29:31 +02:00
Claude Paroz
0afb65e635
Removed unneeded test suite creation for GIS measure tests.
2022-07-23 15:57:05 +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
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
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
David Wobrock
4f284115a9
Refs #27236 -- Split RenameField() tests with unique/index_together.
2022-07-12 06:38:03 +02:00
David Wobrock
f8f16b3cd8
Refs #27236 -- Removed usage of Meta.index_together from indexes/introspection test models.
2022-07-11 08:30:19 +02:00
Ikko Ashimine
77330a089c
Fixed typo in tests/sitemaps_tests/test_http.py.
2022-07-11 08:25:04 +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
Christos Kopanos
608ab043f7
Fixed #33826 -- Fixed RedisCache.set_many()/delete_many() crash with an empty list.
2022-07-06 10:45:52 +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
Mariusz Felisiak
73766c1187
Fixed RelatedGeoModelTest.test08_defer_only() on MySQL 8+ with MyISAM storage engine.
2022-07-05 19:05:03 +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
Mariusz Felisiak
863aa7541d
Fixed GEOSTest.test_emptyCollections() on GEOS 3.8.0.
...
It's a regression in GEOS 3.8.0 fixed in GEOS 3.8.1.
2022-07-01 19:05:27 +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
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
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