1
0
mirror of https://github.com/django/django.git synced 2025-06-02 10:09:12 +00:00

33560 Commits

Author SHA1 Message Date
Adam Johnson
6e36f7f784 Fixed #36383 -- Improved migration serialization for functools.partial objects. 2025-05-13 21:42:19 -03:00
Adam Johnson
57fdc104d2 Refs #36383 -- Added extra tests for serializing functools.partial in tests/migrations/test_writer.py.
This includes a test helper to better assert over the expected output.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-05-13 21:42:19 -03:00
Adam Johnson
4647e2b866 Refs #36383 -- Extended DeconstructibleSerializer to support non-identifier keyword arguments.
In Python, keyword arguments must normally be valid identifiers (i.e.,
variable names that follow Python's naming rules). However, Python dicts
can have keys that aren't valid identifiers, like "foo-bar" or "123foo".

This commit ensures that keyword arguments that are nt valid
identifiers, are properly handled when deconstructing an object.
2025-05-13 21:42:19 -03:00
Adam Johnson
0f94ecd49d Refs #36383, #26151 -- Corrected spelling of DeconstructibleSerializer.
"Deconstructible" is the spelling that Django has settled on, such as
for `django.utils.deconstruct`. This commit normalizes a
previously-inconsistent class to match the rest of the codebase.
2025-05-13 21:42:19 -03:00
Lily Foote
188799e67c Updated guidance to propose new feature ideas in contributing docs.
These changes include:
* Clarification of the new feature proposal and evaluation process.
* Reodering "points to consider" into reporting bugs section, since
  these are mostly trac-specific.
* Narrowing the guide on user interface bugs and features to just bugs.
* Updating documentation for Someday/Maybe triage stage.

Co-authored-by: Tim Schilling <schilling711@gmail.com>
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-05-13 21:38:04 -03:00
Aleksandr Safonov
96c79be4e4 Fixed #36332 -- Corrected HttpRequest.get_full_path() and HttpRequest.get_full_path_info() examples. 2025-05-13 17:41:17 +02:00
Jake Howard
f920937c8a Fixed #35518 -- Optimized RoutePattern by using string operations for converter-less routes. 2025-05-13 12:05:58 +01:00
Carlton Gibson
f66c79e93d
Refs #35591 -- Ensured isolated test environ for runserver warning. 2025-05-13 12:02:30 +02:00
Thibaut Decombe
825ddda26a Fixed #33174 -- Fixed migrations crash for model inheriting from Generic[T]. 2025-05-12 17:39:20 +01:00
Simon Charette
8be0c0d690 Fixed #36373 -- Fixed select_related() crash on foreign object for a composite pk.
Thanks Jacob Walls for the report and Sarah for the in-depth review.
2025-05-12 12:33:07 +01:00
Natalia
42ab99309d Refs #35980 -- Added release note about changes in release artifacts filenames. 2025-05-09 13:29:19 -03:00
Natalia
c86156378d Removed "Expected" from release date for 5.2.1, 5.1.9, and 4.2.21. 2025-05-09 13:29:19 -03:00
Jacob Walls
69ab6e5896 Fixed #36207 -- Cleared cached ForeignObject relations via refresh_from_db(). 2025-05-09 13:01:04 +01:00
Tim Graham
f5197be818
Removed hardcoded pks in admin selenium tests. 2025-05-09 13:17:58 +02:00
Ahmed Nassar
84e91262d6 Fixed #36295, Refs #24305 -- Allowed overriding GenericForeignKey fields on abstract models. 2025-05-08 16:07:08 +01:00
Eric Blum
384cdf0f7a Fixed #36363 -- Added field names to admin duplicated fields error hint. 2025-05-08 11:38:13 +01:00
Sage Abdullah
358fd21c47 Fixed #36143 -- Made max_query_params respect SQLITE_LIMIT_VARIABLE_NUMBER.
Co-authored-by: Xavier Frankline <xf.xavierfrank@gmail.com>
2025-05-08 11:37:11 +01:00
Sage Abdullah
38660a612c Refs #36143 -- Tested bulk_batch_size limit for bulk_update and bulk_create. 2025-05-08 11:37:11 +01:00
Natalia
37f2a77c72 Cleaned up CVE-2025-32873 security archive description. 2025-05-07 11:36:05 -03:00
Natalia
fdabda4e05 Added CVE-2025-32873 to security archive. 2025-05-07 10:59:55 -03:00
Natalia
d8397bf6cd Added stub release notes for 5.2.2. 2025-05-07 10:56:00 -03:00
Sarah Boyce
9f3419b519 Fixed CVE-2025-32873 -- Mitigated potential DoS in strip_tags().
Thanks to Elias Myllymäki for the report, and Shai Berger and Jake
Howard for the reviews.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-05-06 22:21:42 -03:00
Natalia
f7d97dd118 Simplified artifact building steps in docs/internals/howto-release-django.txt.
With the recent merge of artifact build updates from
https://github.com/django/django/pull/19436, there is no need to have
different build instructions for 4.2.
2025-05-06 11:11:40 -03:00
Mariusz Felisiak
dd133054cb
Refs #36052, #32234 -- Fixed inspectdb tests for CompositePrimaryKey on Oracle.
Tests regression in 4c75858135589f3a00e32eb4d476074536371a32.
2025-05-06 08:20:56 +02:00
신우진
1fb3f57e81 Fixed #36281 -- Used async-safe write in ASGIHandler.read_body().
Thanks Carlton Gibson for reviews.
2025-05-04 14:53:08 +02:00
Clifford Gama
9d93e35c20 Fixed #17461 -- Doc'd the presumed order of foreign keys on the intermediary model of a self-referential m2m.
Thanks Giannis Terzopoulos and Sarah Boyce for the reviews.
2025-05-02 07:56:56 +01:00
Natalia
0f5dd0dff3 Made cosmetic edits and added upcoming security release to release notes. 2025-04-30 14:55:12 -03:00
Baptiste Mispelon
66f9eb0ff1 Fixed #36357 -- Skipped unique_together in inspectdb output for composite primary keys.
Thanks to Baptiste Mispelon for the report and quick fix, and to Simon
Charette and Jacob Walls for the reviews.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-04-30 11:55:25 -03:00
Simon Charette
07100db6f4 Fixed #36358 -- Corrected introspection of composite primary keys on SQLite.
Previously, any first field of a composite primary key with type
`INTEGER` was incorrectly introspected as an `AutoField` due to SQLite
treating `INTEGER PRIMARY KEY` as an alias for the `ROWID`.

This change ensures that integer fields in composite PKs are not
mistaken for auto-incrementing fields.

Thanks Jacob Walls and Sarah Boyce for the reviews.
2025-04-30 10:51:48 -03:00
Simon Charette
4c75858135 Refs #36052, #32234 -- Removed create_test_table_with_composite_primary_key flag in favor of using CompositePrimaryKey.
Now that Django properly supports creating models with composite primary
keys, the tests should use a `CompositePrimaryKey` field instead of a
feature flag to inline backend specific SQL for creating a composite PK.

Specifcially, the inspectdb's test_composite_primary_key was adjusted to
use schema editor instead of per-backend raw SQL.
2025-04-30 10:51:48 -03:00
Simon Charette
8ef4e0bd42 Fixed #36360 -- Fixed QuerySet.update() crash when referring annotations through values().
The issue was only manifesting itself when also filtering againt a related
model as that forces the usage of a subquery because SQLUpdateCompiler doesn't
support the UPDATE FROM syntax yet.

Regression in 65ad4ade74dc9208b9d686a451cd6045df0c9c3a.

Refs #28900.

Thanks Gav O'Connor for the detailed report.
2025-04-30 10:38:19 +01:00
Simon Charette
27ffccc96b Used bulk_create where possible in update tests.
This shaves off 21 INSERT queries.

Thanks Clifford for the review.
2025-04-30 10:38:19 +01:00
Baptiste Mispelon
2722cb61cc Used addCleanup() instead of try-finally blocks in inspectdb tests. 2025-04-29 13:45:05 -03:00
Fabian Braun
65bbdbd10b Fixed #36354 -- Removed JavaScript workaround for browsers lacking :has() CSS support.
This branch removes the JavaScript fallback added in the admin for the
add user and change password templates/flows (Refs #34429).

Django documents suport for "modern, web standards compliant browsers".
See https://caniuse.com/css-has for info on browser support per version.
2025-04-28 17:48:19 -03:00
koresi
0ee06c04e0 Fixed #35931 -- Documented fields and methods of the FlatPage model.
Co-authored-by: Clifford Gama <53076065+cliff688@users.noreply.github.com>
2025-04-27 15:10:33 +01:00
Bruno Alla
bc21bc4282 Fixed #18296 -- Created missing custom target directory for startproject and startapp. 2025-04-27 14:41:27 +01:00
9r0k
3babda775d
Fixed #36346 -- Removed outdated section about the threaded option in Oracle driver. 2025-04-27 14:16:50 +02:00
Ahmed Nassar
fbdbccf27a Fixed #36312 -- Removed invalid size units for svg in Safari. 2025-04-27 11:08:43 +01:00
sag​e
fb427e467c
Fixed aggregation tests crash on databases that don't support JSONFields. 2025-04-27 09:03:35 +02:00
dbogar89
7b394b9988
Fixed #36335 -- Fixed typo in docs/topics/db/managers.txt. 2025-04-27 08:40:14 +02:00
Mariusz Felisiak
045110ff30 Refs #36326 -- Fixed QuerySet.raw() crash on models with CompositePrimaryKey on Oracle.
Virtual CompositePrimaryKey fields should be ignored.

Regression in 1831f7733d3ef03d1ca7fac3e8d9f4c5e3e3375e.
2025-04-26 12:12:08 +01:00
nessita
0596263c31
Fixed #36309 -- Made email alternatives and attachments pickleable.
Regression in aba0e541caaa086f183197eaaca0ac20a730bbe4 and in
d5bebc1c26d4c0ec9eaa057aefc5b38649c0ba3b.

Thanks Florent Messa for the report, and Jake Howard and Claude
Paroz for the review.
2025-04-24 10:11:16 -03:00
nessita
c86242d61f
Refs #36341 -- Added release notes for 5.1.9 and 4.2.21 for fix in wordwrap template filter.
Revision 1e9db35836d42a3c72f3d1015c2f302eb6fee046 fixed a regression in
55d89e25f4115c5674cdd9b9bcba2bb2bb6d820b, which also needs to be
backported to the stable branches in extended support (5.1.x and 4.2.x).
2025-04-23 17:26:48 -03:00
Matti Pohjanvirta
1e9db35836 Fixed #36341 -- Preserved whitespaces in wordwrap template filter.
Regression in 55d89e25f4115c5674cdd9b9bcba2bb2bb6d820b.

This work improves the django.utils.text.wrap() function to ensure that
empty lines and lines with whitespace only are kept instead of being
dropped.

Thanks Matti Pohjanvirta for the report and fix.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-04-23 16:14:03 -03:00
Sarah Boyce
18fa74fc88 Skipped "Labels" Github action when not targeting the main django/django repo. 2025-04-23 11:40:17 -03:00
Simon Charette
760121dcb1 Fixed #35801 -- Prevented collision of senders with non-overlapping lifetimes.
As documented, the id() function can return the same value for distinct
objects with non-overlapping lifetimes which can result in signals being
sent to the wrong receivers if two distinct senders happen to have a
colliding id() value.

Since reproduction of the issue requires memory constrained
circumstances where the same exact id() is reused for two senders of the
same signal the test opt to simulate the collision by systematically
making the same id for Sender instances.

Note that we explicitly avoid keeping a strong reference to senders that
cannot be weakly referenced as that would unexpectedly prevent them from
being garbage collected. This means that id(sender) collisions could
still occur for such objects but Django itself doesn't make use of them.

Thanks Sjoerd Job Postmus for the reduced test case and Mariusz for the
review.

Co-authored-by: And Clover <and@doxdesk.com>
2025-04-23 13:09:46 +01:00
Bona Fide IT GmbH
19067fe85a
Simplified UserManager.with_perm() by using get_backends(). 2025-04-23 13:01:19 +01:00
antoliny0919
1bc805e23b Fixed #36331 -- Reverted "Fixed #36055 -- Prevented overlap of object-tools buttons and page header in the admin."
This reverts commits b1324a680add78de24c763911d0eefa19b9263bc and
02a5cbfe76382da2a0414df17017185be5bd47f9. The former caused a regression
in admin sites that relied on the `object-tools` block being inside the
`content` block.

Thank you to Fabian Braun for the report.
2025-04-22 22:13:38 -03:00
SaJH
1831f7733d Fixed #36326 -- Added CompositePrimaryKey support in QuerySet.raw().
Signed-off-by: SaJH <wogur981208@gmail.com>
2025-04-17 17:23:06 +02:00
Sarah Boyce
d755a98b84 Fixed #35959 -- Displayed password reset button in admin only when user has sufficient permissions.
This change ensures that the "Reset password" button in the admin is
shown only when the user has the necessary permission to perform a
password change operation. It reuses the password hashing rendering
logic in `display_for_field` to show the appropriate read-only widget
for users with view-only access.
2025-04-17 12:00:20 -03:00