1
0
mirror of https://github.com/django/django.git synced 2025-03-12 18:30:48 +00:00

13753 Commits

Author SHA1 Message Date
Ben Cail
d57bf4618c [5.2.x] Refs #22997 -- Prevented requesting a default value for auto fields.
Backport of db7b1ae9f6d9e26facbb3da4cf5f5a513704bfe5 from main.
2025-02-06 13:55:41 +01:00
antoliny0919
209d0f6143 [5.2.x] Fixed #36069 -- Fixed the delete button position in TabularInlines.
Backport of 1330cb570519170bb4397b4fb02c7e3e0657855a 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 b1324a680add78de24c763911d0eefa19b9263bc 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 198b30168d4e94af42e0dc7967bd3259b5c5790b 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 e626716c28b6286f8cf0f8174077f3d2244f3eb3.

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

Backport of d15454a6e84a595ffc8dc1b926282f484f782a8f from main.
2025-02-01 22:50:26 -03:00
greg
2146bd1261 [5.2.x] Fixed #36119 -- Fixed UnicodeEncodeError when attaching a file with 8bit Content-Transfer-Encoding.
Backport of 89e28e13ecbf9fbcf235e16d453c08bbf2271244 from main.
2025-01-31 12:55:57 +01:00
sharonwoo
77f9e6bcd3 [5.2.x] Fixed #35235 -- Removed caching of BaseExpression._output_field_or_none.
Backport of cbb0812683cf3236e4a4003bf7f74b119d3cde0c 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 ed0cbc8d8b314e3b4a0305d0be3cf366d8ee4a74.

Backport of c6ace896a2da73356f7c9a655bbe32a0e3ce0435 from main.
2025-01-30 12:18:08 +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 5a2c1bc07d126ce32efaa157e712a8f3a7457b74 from main.
2025-01-29 10:25:00 +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 efec74b90868c2e611f863bf4301d92ce08067e8 from main.
2025-01-28 13:19:36 +01:00
Jacob Walls
791ed4fd97 [5.2.x] Fixed #36120 -- Raised FieldError when targeting a composite primary key field with QuerySet.update().
Backport of 72ff18d41cfb004ae180bdf87fd8bad93041c691 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 8eca4077f60fa0705ecfd9437c9ceaeef7a3808b 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 9a71eca64bd3a357ef4846d81668d690089779c7 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 330d89d4fe7832355535580383523f1749a3ee45 from main
2025-01-25 18:07:26 +01:00
Jacob Walls
c85b68398b [5.2.x] Refs #470 -- Fixed field_defaults test failures due to year-end boundary conditions.
Backport of 352d860b9107adbcde0f1fe5d0fce8e9090a51e4 from main.
2025-01-23 12:44:12 -03:00
Claude Paroz
72c0359dda [5.2.x] Fixed #36010 -- Avoided touching mo files while checking writability.
Backport of 2c47207b3c8412d16e61e388f176b47b41b40794 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 29ba75e6e57414f0e6f9528d08a520b8b931fb28 from main.
2025-01-23 10:40:58 +01:00
antoliny0919
5242220a56 [5.2.x] Fixed #36114 -- Fixed link visibility when list_display_links field contains only whitespace.
Backport of e262d5355d82901f81fba6c7015643c2b87125bf 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 00c690efbc0b10f67924687f24a7b30397bf47d9 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 a76035e925ff4e6d8676c65cb135c74b993b1039 from main.
2025-01-22 08:57:40 +01: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 626d77e52a3f247358514bcf51c761283968099c from main.
2025-01-21 09:13:18 +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 22fc151bb86a553d84c62d7effd289356e9b6c6c 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 61dae11df52fae71fc3050974ac459f362c9dfd7 from main.
2025-01-20 14:04:35 +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
b3c5830769 Fixed #36098 -- Fixed validate_ipv6_address()/validate_ipv46_address() crash for non-string values.
Regression in ca2be7724e1244a4cb723de40a070f873c6e94bf.
2025-01-15 13:46:06 -03:00
Jacob Walls
1602666b79 Fixed #36100 -- Checked if composite pk is set in get_next/get_previous. 2025-01-15 17:23:46 +01:00
Simon Charette
6cfe00ee43 Refs #29499 -- Fixed race condition in update_or_create() test.
The usage of time.sleep() could result in the update_or_create() thread winning
the race to create the row if the backend takes a while to create a new
connection in the main thread.

Relying on threading.Event ensures that the flow of execution is systematically
yield back and forth between the main thread and the thread in charge of
performing the background update_or_create().
2025-01-15 15:36:57 +01:00
Sarah Boyce
b721f12760 Fixed #35998 -- Added caching to django.utils.html.urlize(). 2025-01-14 17:59:32 +01:00
Jacob Walls
d206d4c200 Fixed #36051 -- Declared arity on aggregate functions.
Follow-up to 4a66a69239c493c05b322815b18c605cd4c96e7c.
2025-01-14 16:47:07 +01:00
Simon Charette
f07360e808 Refs #36075 -- Adjusted MTI handling of _non_pk_concrete_field_names.
Regression in bf7b17d16d3978b2e1cee4a0f7ce8840bd1a8dc4.

Thanks Sage Abdullah for the report.
2025-01-14 16:21:19 +01:00
Simon Charette
161e79d277 Refs #36075 -- Adjusted pk_fields usage in bulk_update eligibility checks.
Regression in bf7b17d16d3978b2e1cee4a0f7ce8840bd1a8dc4.

Thanks Sage Abdullah for the report.
2025-01-14 16:21:19 +01:00
Simon Charette
4bfec242b4 Fixed #36093 -- Adjusted unique checks to account for inherited primary keys.
Regression in bf7b17d16d3978b2e1cee4a0f7ce8840bd1a8dc4 refs #36075.

Thanks Sage Abdullah for the report and tests.
2025-01-14 16:21:19 +01:00
Michael Manfre
ca2be7724e Fixed CVE-2024-56374 -- Mitigated potential DoS in IPv6 validation.
Thanks Saravana Kumar for the report, and Sarah Boyce and Mariusz
Felisiak for the reviews.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-01-14 08:42:24 -03:00
Sarah Boyce
23c6effac0 Fixed #36087 -- Supported password reset on a custom user model with a composite primary key. 2025-01-13 15:51:21 +01:00
Bendeguz Csirmaz
d83fb782d3 Fixed #36092 -- Disallowed non-local fields in composite primary keys. 2025-01-13 14:21:41 +01:00
Sarah Boyce
bf7b17d16d Refs #36075 -- Used field in pk_fields over field.primary_key. 2025-01-13 12:04:59 +01:00
Simon Charette
9e55201555 Fixed #36086 -- Fixed crash when using GeneratedField with non-AutoField pk.
The previous logic was systematically attempting to retrieve last_insert_id
even for models without an AutoField primary key when they had a GeneratedField
on backends that can't return columns from INSERT.

The issue affected MySQL, SQLite < 3.35, and Oracle when the use_returning_into
option was disabled and could result in either crashes when the non-auto
primary key wasn't an IntegerField subclass or silent misassignment of bogus
insert ids (0 or the previous auto primary key insert value) to the first
defined generated field value.
2025-01-13 11:13:29 +01:00
Simon Charette
20eb4bca7d Refs #373 -- Adjusted test allowing AutoField in composite primary keys.
This is not a properly supported feature yet and should be revisited by
refs #35957.
2025-01-13 11:13:29 +01:00
Bendeguz Csirmaz
8bee7fa45c Fixed #36050 -- Added OuterRef support to CompositePrimaryKey. 2025-01-10 14:38:09 +01:00
antoliny0919
97ee8b82c2 Fixed #36032 -- Rendered URLField values as links in the admin. 2025-01-10 12:57:53 +01:00
Bendeguz Csirmaz
5851605863 Fixed #36064 -- Skipped an UPDATE when adding a model instance with a composite primary key with default values. 2025-01-10 11:43:38 +01:00
Bendeguz Csirmaz
8287fd4915 Refs #36064 -- Added test that falsey primary key default/db_default value skips an update query on save.
This adds test coverage for logic change in 9fa4d07ce0729850661a31a6b37c6b48f13d2266.
2025-01-10 11:43:38 +01:00
Jacob Walls
0fb51ec5a0 Fixed #36068 -- Raised ValueError when providing a composite PK field to bulk_create() update_fields. 2025-01-10 08:23:39 +01:00
Simon Charette
af6336f2c8 Fixed #36074 -- Excluded composite primary key fields on save() updates. 2025-01-09 17:38:42 +01:00
Salvo Polizzi
fc28550fe4
Fixed #35515 -- Added automatic model imports to shell management command.
Thanks to Bhuvnesh Sharma and Adam Johnson for mentoring this Google
Summer of Code 2024 project. Thanks to Sarah Boyce, David Smith, Jacob
Walls and Natalia Bidart for reviews.
2025-01-09 13:00:29 -03:00
Brock
8c118c0e00 Fixed #35940 -- Disabled SelectFilter add/remove buttons when appropriate. 2025-01-09 08:18:29 +01:00
antoliny0919
a9c79b4629 Fixed #36063 -- Made a FileField navigate to the object admin change page when in list_display_links. 2025-01-08 16:32:40 +01:00
Sarah Boyce
6a1a9c0ead Fixed #36062 -- Handled serialization of CompositePrimaryKeys. 2025-01-08 14:52:59 +01:00
Simon Charette
42e8f264ce Fixed #36065 -- Fixed ordering by expression referencing composite primary key.
Thanks Jacob Walls for the report and test and Csirmaz Bendegúz for the review.
2025-01-08 10:20:48 +01:00
Simon Charette
7617d5be94 Refs #36065 -- Extracted composite primary key order by tests. 2025-01-08 10:20:48 +01:00