1
0
mirror of https://github.com/django/django.git synced 2025-03-08 16:32:32 +00:00

13716 Commits

Author SHA1 Message Date
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
Chaitanya Rahalkar
c068f000be Fixed #36014 -- Supported international domains in EmailValidator. 2025-01-08 10:20:11 +01:00
Jacob Walls
470e5545e5 Refs #36042 -- Raised ValueError when providing composite expressions to aggregates. 2025-01-07 11:42:06 +01:00
Jacob Walls
6eec703667 Fixed #36042 -- Raised ValueError when using CompositePrimaryKey as rhs. 2025-01-07 11:42:06 +01:00
Alex Vandiver
8914b571eb Fixed #36023 -- Handled controls chars in content_disposition_header.
To use the simple `filename="..."` form, the value must conform to the
official grammar from RFC6266[^1]:

    filename-parm       = "filename" "=" value
    value               = <value, defined in [RFC2616], Section 3.6>
                        ; token | quoted-string

The `quoted-string` definition comes from RFC 9110[^2]:

```
    quoted-string  = DQUOTE *( qdtext / quoted-pair ) DQUOTE
    qdtext         = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text

The backslash octet ("\") can be used as a single-octet quoting
mechanism within quoted-string and comment constructs. Recipients that
process the value of a quoted-string MUST handle a quoted-pair as if
it were replaced by the octet following the backslash.

    quoted-pair    = "\" ( HTAB / SP / VCHAR / obs-text )

A sender SHOULD NOT generate a quoted-pair in a quoted-string except
where necessary to quote DQUOTE and backslash octets occurring within
that string.
```

That is, quoted strings are able to express horizontal tabs, space
characters, and everything in the range from 0x21 to 0x7e, expect for
0x22 (`"`) and 0x5C (`\`), which can still be expressed but must be
escaped with their own `\`.

We ignore the case of `obs-text`, which is defined as the range
0x80-0xFF, since its presence is there for permissive parsing of
accidental high-bit characters, and it should not be generated by
conforming implementations.

Transform this character range into a regex and apply it in addition
to the "is ASCII" check.  This ensures that all simple filenames are
expressed in the simple format, and that all filenames with newlines
and other control characters are properly expressed with the
percent-encoded `filename*=...`form.

[^1]: https://datatracker.ietf.org/doc/html/rfc6266#section-4.1
[^2]: https://datatracker.ietf.org/doc/html/rfc9110#name-quoted-strings
2025-01-07 09:22:09 +01:00
John Parton
40d5516385 Fixed #35718 -- Add JSONArray to django.db.models.functions.
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2025-01-06 10:08:32 +01:00
Chris Muthig
d734f1651c Refs #35444 -- Deprecated contrib.postgres aggregates ordering for order_by.
Aligns the argument with SQL standards already used in Window.order_by and
sets up for adding support to Aggregate.
2025-01-06 09:39:21 +01:00
Jacob Walls
46b3e7dd8c Fixed #36048 -- Preferred ValueError to NotSupportedError for composite pk sanity checks.
These checks are not backend-dependent.
2025-01-06 09:33:27 +01:00
Adam Johnson
ec0e784f91
Fixed #36056 -- Made OutputWrapper a virtual subclass of TextIOBase.
This fixes the ignored exception in self._out.flush() from
django.core.management.base.OutputWrapper:
`ValueError: I/O operation on closed file.`
2025-01-04 00:29:53 -03:00
Jacob Walls
a8e4fd11ef Fixed #36052 -- Supported CompositePrimaryKey in inspectdb. 2025-01-03 16:28:21 +01:00
YashRaj1506
083e623953 Fixed #35414 -- Used default headers in AsyncRequestFactory. 2025-01-03 08:41:34 +01:00
YashRaj1506
12f4f95405 Fixed #35740 -- Fixed FileFieldStorageTests.test_extended_length_storage when using bcachefs.
PC_NAME_MAX on bcachefs is 512, which was greater than the file field max_length.
2025-01-03 08:40:48 +01:00
Jacob Walls
c3a681659c Fixed #36029 -- Handled implicit exact lookups in condition depth checks for FilteredRelation. 2025-01-03 08:40:13 +01:00
Tim Graham
45dc2aaa2a
Added missing test for QuerySet.delete() when raising EmptyResultSet. 2025-01-02 23:49:49 -03:00
David Smith
987854ba44 Fixed #32819 -- Added aria-describedby to fields with errors. 2025-01-02 16:40:39 +01:00
Johannes Maron
989329344a Fixed #35886 -- Added support for object-based form media script assets. 2025-01-02 13:08:13 +01:00
Mariusz Felisiak
b322319f9d Fixed #36034 -- Added system check for ForeignKey/ForeignObject/ManyToManyField to CompositePrimaryKeys. 2025-01-02 13:06:47 +01:00
Jacob Walls
2a61b5f97c Refs #373 -- Errored when providing db_column to CompositePrimaryKey. 2025-01-02 13:03:49 +01:00
Mariusz Felisiak
c534b6c493
Fixed #35991 -- Fixed crash when adding non-nullable field after renaming part of CompositePrimaryKey on SQLite. 2024-12-27 09:55:42 -03:00
Tim Graham
733d3998e2
Refs #373 -- Fixed false failure of test_error_on_comment_pk_conflict.
The test failed with "NOT NULL constraint failed" rather than
"UNIQUE constraint failed: tenant_id, comment_id".
2024-12-26 23:29:04 -03:00
Mariusz Felisiak
fcd9d08379 Refs #35844 -- Fixed OtherModelFormTests.test_prefetch_related_queryset() test on Python 3.14+.
5a23994a3d
2024-12-20 14:18:10 +01:00
Aman Sharma
f05edb2b43 Fixed #36016 -- Prevented traceback when quitting makemigrations with Ctrl-C. 2024-12-19 11:33:18 +01:00
Andrew Miller
3ee4c6a27a Refs #26007 -- Improved the ImproperlyConfigured error message for SingleObjectTemplateResponseMixin.get_template_names(). 2024-12-18 13:08:14 +01:00
Tim Graham
bb6114ce50
Added DatabaseFeatures.rounds_to_even.
This feature flag useful with MongoDB: "Rounding to the nearest even
value supports more even distribution of rounded data than always
rounding up or down."
2024-12-18 08:50:48 -03:00
Erica Pisani
20f9f61805 Fixed #35996 -- Fixed database serialization crash when serializing a many-to-many field that had a prefetch. 2024-12-18 10:39:20 +01:00
Tim Graham
7e41a7a47d Refs #35520 -- Fixed expected query count in admin_views tests.
In 53e674d5744faad61e52d8459c9198b2aa6f63dd, the count should only
have been lowered for the case when savepoint are supported.
2024-12-17 14:40:34 +01:00
David Smith
1e05431881 Refs #32819 -- Added aria-describedby property to BoundField. 2024-12-17 12:04:44 +01:00
lufafajoshua
27375ad50e Fixed #35969 -- Disallowed specifying a USING clause for altered generated field.
PostgreSQL versions 16.5 and above no longer permit the use
of a USING clause when changing the type of a generated column.
2024-12-17 11:27:25 +01:00
suraj
0d9872fc9a Fixed #7732 -- Added support for connection pools on Oracle. 2024-12-17 11:26:32 +01:00
Mariusz Felisiak
2249370c86 Fixed #35992, Fixed #35997 -- Added system check for CompositePrimaryKeys in Meta.indexes/constraints/unique_together.
CompositePrimaryKeys are not supported in any of these options.
2024-12-17 10:28:40 +01:00
Mike Edmunds
322e49ba30 Fixed #36012 -- Made mailto punctuation percent-encoded in Urlizer.
Urlizer was not properly encoding email addresses containing punctuation
in generated mailto links. Per RFC 6068, fixed by percent encoding
(urllib.parse.quote) the local and domain address parts.
2024-12-17 10:18:48 +01:00
Andrés Reverón Molina
b44efdfe54 Fixed #34856 -- Fixed references to index_together in historical migrations.
While AlterUniqueTogether has been documented to be still allowed in historical
migrations for the foreseeable future it has been crashing since 2abf417c815c20
was merged because the latter removed support for Meta.index_together which the
migration framework uses to render models to perform schema changes.

CreateModel(options["unique_together"]) was also affected.

Refs #27236.

Co-authored-by: Simon Charette <charette.s@gmail.com>
2024-12-17 09:59:39 +01:00
Tim Graham
94436dee57 Refs #29850 -- Removed obsolete test_window_frame_raise_not_supported_error.
This NotSupportedError was removed in 6375cee490725969b4f67b3c988ef01350c1ad6d
because it will never be reached due to the same exception raised by
Window.as_sql().
2024-12-16 13:42:21 +01:00
Sage Abdullah
d7d711c68c Refs #35718, Refs #32179 -- Moved JSONObject to django.db.models.functions.json. 2024-12-16 12:06:01 +01:00
Mike Edmunds
9a891c387f Refs #36007 -- Added IDNA 2008 test case for URLValidator.
Test a domain that is valid under IDNA 2008 but not IDNA 2003. This
helps verify that the branch in URLValidator which calls punycode() is
not actually being used for IDNs. punycode() implements IDNA 2003, so
the domain would fail to validate if that branch were active for IDNs.
2024-12-13 16:10:34 +01:00
Tim Graham
78a55a04c9 Fixed typo in ArrayField test name. 2024-12-13 09:00:44 +01:00
Ben Cardy
f30b527f17
Fixed #25582 -- Added support for query and fragment to django.urls.reverse(). 2024-12-11 16:40:28 -03:00
Jacob Walls
2ce4545de1 Fixed #35920 -- Observed requires_system_checks in migrate and runserver.
Before, the full suite of system checks was run by these commands
regardless if requires_system_checks had been overridden.

Co-authored-by: Simon Charette <charette.s@gmail.com>
2024-12-11 17:25:47 +01:00