1
0
mirror of https://github.com/django/django.git synced 2025-11-07 07:15:35 +00:00
Commit Graph

33287 Commits

Author SHA1 Message Date
Simon Charette
0690c06013 [5.2.x] Refs #34975 -- Removed unnecessary lookups.In.get_refs().
Now that In.get_source_expression() includes its right-hand-side when it
contains expressions (refs #36025) it no longer requires a specialized
get_refs() method.

Backport of 0bac41fc7e from main.
2025-02-06 17:02:22 +01:00
Simon Charette
d99985bbc1 [5.2.x] Fixed #36025 -- Fixed re-aliasing of iterable (in/range) lookups rhs.
In order for Expression.relabeled_clone to work appropriately its
get_source_expressions method must return all resolvable which wasn't the case
for Lookup when its right-hand-side is "direct" (not a compilable).

While refs #22288 added support for non-literals iterable right-hand-side
lookups it predated the subclassing of Lookup(Expression) refs #27021 which
could have been an opportunity to ensure right-hand-sides are always resolvable
(ValueList and ExpressionList).

Addressing all edge case with non-resolvable right-hand-sides would require
a significant refactor and deprecation of some parts of the Lookup interface so
this patch only focuses on FieldGetDbPrepValueIterableMixin (In and Range
lookups) by making sure that a right-hand-side containing resolvables are dealt
with appropriately during the resolving phase.

Thanks Aashay Amballi for the report.

Backport of 089deb82b9 from main.
2025-02-06 17:00:31 +01:00
brian
b96e4c04b6 [5.2.x] Fixed #36061 -- Added migration support for ManyToManyField.through_fields.
Added through_fields support to ManyToManyField.deconstruct.
Thanks to Simon Charette for pointers and the review.

Backport of b13b8684a0 from main.
2025-02-06 15:27:26 +01:00
Simon Charette
8aea6b802c [5.2.x] Fixed #35677 -- Avoided non-sticky filtering of prefetched many-to-many.
The original queryset._next_is_sticky() call never had the intended effect as
no further filtering was applied internally after the pk__in lookup making it
a noop.

In order to be coherent with how related filters are applied when retrieving
objects from a related manager the effects of what calling _next_is_sticky()
prior to applying annotations and filters to the queryset provided for
prefetching are emulated by allowing the reuse of all pre-existing JOINs.

Thanks David Glenck and Thiago Bellini Ribeiro for the detailed reports and
tests.

Backport of 2598b371a9 from main.
2025-02-06 14:31:32 +01:00
Ben Cail
d57bf4618c [5.2.x] Refs #22997 -- Prevented requesting a default value for auto fields.
Backport of db7b1ae9f6 from main.
2025-02-06 13:55:41 +01:00
Natalia
2b11b8e989 [5.2.x] Added stub release notes for 5.1.7.
Backport of e2a8f4dac8 from main.
2025-02-05 11:22:24 -03:00
Natalia
f075694a62 [5.2.x] Added release date for 5.1.6, 5.0.12, and 4.2.19.
Backport of 294cc965ef from main.
2025-02-05 10:39:42 -03:00
amirreza sohrabi far
2cbf32ed36 [5.2.x] Clarified docs for default email value in UserManager.create_user().
Backport of 5da3ad7bf9 from main.
2025-02-04 16:36:13 -03:00
nessita
d6a44efa49 [5.2.x] Refs #35612 -- Extended docs on how the security team evaluates reports.
Co-authored-by: Shai Berger <shai@platonix.com>

Backport of f609a2da86 from main.
2025-02-04 08:55:11 -03:00
antoliny0919
209d0f6143 [5.2.x] Fixed #36069 -- Fixed the delete button position in TabularInlines.
Backport of 1330cb5705 from main.
2025-02-04 08:57:25 +01:00
antoliny0919
d03102a5a8 [5.2.x] Fixed #36055 -- Prevented overlap of object-tools buttons and page header in the admin.
Backport of b1324a680a from main.
2025-02-04 08:49:07 +01:00
Simon Charette
303c2569da [5.2.x] Fixed #36135 -- Fixed reverse GenericRelation prefetching.
The get_(local|foreign)_related_value methods of GenericRelation must be
reversed because it defines (from|to)_fields and associated related_fields
in the reversed order as it's effectively a reverse GenericForeignKey
itself.

The related value methods must also account for the fact that referenced
primary key values might be stored as a string on the model defining the
GenericForeignKey but as integer on the model defining the GenericRelation.
This is achieved by calling the to_python method of the involved content type
in get_foreign_related_value just like GenericRelatedObjectManager does.

Lastly reverse many-to-one manager's prefetch_related_querysets should use
set_cached_value instead of direct attribute assignment as direct assignment
might are disallowed on ReverseManyToOneDescriptor descriptors. This is likely
something that was missed in f5233dc (refs #32511) when the is_cached guard
was added.

Thanks 1xinghuan for the report.

Backport of 198b30168d from main.
2025-02-03 10:40:52 +01:00
nessita
affad13d0c [5.2.x] Fixed #36140 -- Allowed BaseUserCreationForm to define non required password fields.
Regression in e626716c28.

Thanks buffgecko12 for the report and Sarah Boyce for the review.

Backport of d15454a6e8 from main.
2025-02-01 22:50:26 -03:00
Mike Edmunds
e939cffa50 [5.2.x] Fixed #36162 -- Fixed the black Makefile docs rule to work on macOS.
The `make black` target in the docs directory used Linux-specific
syntax for its `find` command. Changed to syntax that also works
on macOS and other BSD Unix variants.
Backport of 248d8457cb from main.
2025-02-01 22:28:35 -03:00
greg
2146bd1261 [5.2.x] Fixed #36119 -- Fixed UnicodeEncodeError when attaching a file with 8bit Content-Transfer-Encoding.
Backport of 89e28e13ec from main.
2025-01-31 12:55:57 +01:00
nessita
b406907af5 [5.2.x] Tweaked docs to avoid reformatting given new black version.
Backport of fd3cfd80be from main.
2025-01-30 10:38:44 -03:00
sharonwoo
77f9e6bcd3 [5.2.x] Fixed #35235 -- Removed caching of BaseExpression._output_field_or_none.
Backport of cbb0812683 from main.
2025-01-30 13:51:25 +01:00
Vinko Mlačić
d567e3a52e [5.2.x] Fixed #36155 -- Improved error handling when annotate arguments require an alias.
Regression in ed0cbc8d8b.

Backport of c6ace896a2 from main.
2025-01-30 12:18:08 +01:00
Salvo Polizzi
dfaf8aa6c6 [5.2.x] Fixed #36159 -- Removed the empty import example in the custom shell docs.
This can be achieved with the --no-imports flag.

Backport of b84478ae95 from main.
2025-01-30 12:16:16 +01:00
Sarah Boyce
a469397dd3 [5.2.x] Fixed #36118 -- Accounted for multiple primary keys in bulk_update max_batch_size.
Co-authored-by: Simon Charette <charette.s@gmail.com>

Backport of 5a2c1bc07d from main.
2025-01-29 10:25:00 +01:00
Sarah Boyce
4aa2cd6f68 [5.2.x] Clarified the Releaser's discretion for determining and postponing the release date.
Backport of 8a6b4175d7 from main.
2025-01-28 18:19:14 +01:00
Simon Charette
d4d2e09f19 [5.2.x] Fixed #36122 -- Raised FieldError when updating with composite reference value.
Thanks Jacob Walls for the report and test.

Backport of efec74b908 from main.
2025-01-28 13:19:36 +01:00
Sarah Boyce
9fe17213a6 [5.2.x] Updated the release process documentation to reflect the current process.
Backport of 0ba35a4948 from main.
2025-01-28 11:34:07 +01:00
Jacob Walls
791ed4fd97 [5.2.x] Fixed #36120 -- Raised FieldError when targeting a composite primary key field with QuerySet.update().
Backport of 72ff18d41c from main.
2025-01-28 11:20:51 +01:00
Peter DeVita
720ef7a867 [5.2.x] Fixed #36109 -- Fixed RecursionError when stacking FilteredRelation joins.
Backport of 8eca4077f6 from main.
2025-01-27 10:34:16 +01:00
Adam Zapletal
b285cc787e [5.2.x] Captured stderr during admin_docs test.
The admindocs app doesn't pass a log level to docutils when it parses
reStructured Text, so system messages can be logged during parsing.

Backport of 9a71eca64b from main.
2025-01-27 09:24:59 +01:00
Jacob Walls
e9576c0aa8 [5.2.x] Fixed #36111 -- Fixed test --debug-sql crash on Oracle when no prior query has executed.
Backport of 330d89d4fe from main
2025-01-25 18:07:26 +01:00
Clifford Gama
93e18a87dd [5.2.x] Fixed ambiguous pronoun reference in docs/ref/models/fields.txt.
Backport of 9cc3970eaa from main.
2025-01-24 18:46:43 +01:00
Jacob Walls
c85b68398b [5.2.x] Refs #470 -- Fixed field_defaults test failures due to year-end boundary conditions.
Backport of 352d860b91 from main.
2025-01-23 12:44:12 -03:00
nessita
123d00a9a3 [5.2.x] Clarified feature freeze tasks in docs/internals/howto-release-django.txt.
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>

Backport of f133285a9a from main.
2025-01-23 11:29:20 -03:00
Claude Paroz
72c0359dda [5.2.x] Fixed #36010 -- Avoided touching mo files while checking writability.
Backport of 2c47207b3c from main.
2025-01-23 11:37:48 +01:00
Mike Edmunds
698d05c11c [5.2.x] Fixed #36013 -- Removed use of IDNA-2003 in django.utils.html.
Removed obsolete and potentially problematic IDNA 2003 ("punycode")
encoding of international domain names in smart_urlquote() and Urlizer,
which are used (only) by AdminURLFieldWidget and the urlize/urlizetrunc
template filters. Changed to use percent-encoded UTF-8, which defers
IDNA details to the browser (like other URLs rendered by Django).

Backport of 29ba75e6e5 from main.
2025-01-23 10:40:58 +01:00
Baptiste Mispelon
d6c2b67884 [5.2.x] Fixed #36125 -- Switched docs to use chat.djangoproject.com when referencing the Discord server.
Backport of 9a1f18635f from main.
2025-01-22 18:23:33 -03:00
antoliny0919
5242220a56 [5.2.x] Fixed #36114 -- Fixed link visibility when list_display_links field contains only whitespace.
Backport of e262d5355d from main.
2025-01-22 14:57:57 +01:00
Simon Charette
1df0f998ae [5.2.x] Fixed #36117 -- Raised ValueError when providing composite expressions to case / when.
Remove redundant Case and When.resolve_expression to delegate composite
expression support to BaseExpression.

Thanks Jacob Tyler Walls for the report and test.

Backport of 00c690efbc from main.
2025-01-22 08:58:23 +01:00
Simon Charette
e306687a3a [5.2.x] Refs #36042 -- Consolidated composite expression checks in BaseExpression.
Remove redundant Func.resolve_expression and adjust CombinedExpression to
delegate source expression resolving to super() to perform checks against
allows_composite_expressions in a single location.

Backport of a76035e925 from main.
2025-01-22 08:57:40 +01:00
Igor Scheller
ae2f5381fe [5.2.x] Refs 35653 -- Clarified docs for EMAIL_SSL_CERTFILE and EMAIL_SSL_KEYFILE settings.
Backport of 136a1e8927 from main.
2025-01-21 19:36:26 -03:00
Simon Charette
9861e86547 [5.2.x] Fixed #36116 -- Optimized multi-column ForwardManyToOne prefetching.
Rely on ColPairs and TupleIn which support a single column to be specified
to avoid special casing ForwardManyToOne.get_prefetch_querysets().

Thanks Jacob Walls for the report.

Backport of 626d77e52a from main.
2025-01-21 09:13:18 +01:00
Mariusz Felisiak
55afe50aca [5.2.x] Refs #32193 -- Updated python-memcached to pymemcache in contributing guide.
Follow up to 05f3a6186e.
Backport of 337c641abb from main
2025-01-20 22:44:34 +01:00
Simon Charette
ad6bca92a8 [5.2.x] Fixed #36107 -- Adjusted UNNEST bulk_create strategy to opt-out sized arrays.
The array fields opt-out heuristic failed to account for sized arrays.

Note that we keep relying on db_type as opposed to performing an ArrayField
instance check against the column's field as there could be other
implementations of model fields that use Postgres arrays to store the
optimization must be disabled for all of them.

Refs #35936.

Thanks Claude Paroz for the report and test.

Backport of 22fc151bb8 from main.
2025-01-20 14:16:51 +01:00
greg
dab04b89af [5.2.x] Fixed #36017 -- Used EmailValidator in urlize to detect emails.
Backport of 61dae11df5 from main.
2025-01-20 14:04:35 +01:00
Clifford Gama
35d402f4e9 [5.2.x] Fixed typos in docs/releases/5.2.txt.
Backport of c41d6c9bb8 from main.
2025-01-16 13:15:24 +01:00
Sarah Boyce
759921c8e9 [5.2.x] Bumped version for 5.2 alpha 1 release. 5.2a1 2025-01-16 09:14:13 +01:00
Sarah Boyce
1eb62e5b62 [5.2.x] Bumped django_next_version in docs config. 2025-01-15 21:19:43 +01:00
Sarah Boyce
1259509220 Made cosmetic edits to docs/releases/5.2.txt. 2025-01-15 21:11:20 +01:00
Sarah Boyce
9e6e58bad2 Removed empty sections from 5.2 release notes. 2025-01-15 21:11:20 +01:00
Sarah Boyce
051acc5c48 Updated man page for Django 5.2 alpha. 2025-01-15 21:11:20 +01:00
Matthias Kestenholz
6a7ee02f59 Fixed #35521 -- Allowed overriding BoundField class on fields, forms and renderers.
Thank you Sarah Boyce, Carlton Gibson, Tim Schilling and Adam Johnson
for reviews.

Co-authored-by: Christophe Henry <contact@c-henry.fr>
Co-authored-by: David Smith <smithdc@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Matthias Kestenholz <mk@feinheit.ch>
2025-01-15 17:04:26 -03:00
Mariusz Felisiak
0cabed9efa Simplified GeoIP2._query() when passing IPv4Address()/IPv6Address() instances.
There is no need to call validate_ipv46_address() for
ipaddress.IPv4Address()/ipaddress.IPv6Address() instances since this
relies on trying to create these kind objects from strings, so they will
always be valid.
2025-01-15 13:46:06 -03:00
Mariusz Felisiak
b3c5830769 Fixed #36098 -- Fixed validate_ipv6_address()/validate_ipv46_address() crash for non-string values.
Regression in ca2be7724e.
2025-01-15 13:46:06 -03:00