1
0
mirror of https://github.com/django/django.git synced 2024-12-23 01:25:58 +00:00
Commit Graph

32191 Commits

Author SHA1 Message Date
Mariusz Felisiak
a4931cd75a
Refs #34380 -- Added FORMS_URLFIELD_ASSUME_HTTPS transitional setting.
This allows early adoption of the new default "https".
2023-11-28 20:04:21 +01:00
Nick Pope
5f9e5c1b0d Refs #34822, Refs #34986 -- Fixed migrations serializer support for functools.lru_cache().
It turns out that `functools._lru_cache_wrapper` is only a class when
CPython's _functools C module provides it, otherwise it is a function.
PyPy also provides it as a function.
2023-11-28 13:47:35 +01:00
David Smith
76280b4f4d Refs #21442 -- Increased test coverage of requests. 2023-11-28 09:33:59 +01:00
Nick Pope
baf705f34a Refs #34986 -- Fixed some test assertions for PyPy.
These failures were due to minor inconsistencies or implementation
differences between CPython and PyPy.
2023-11-28 06:19:38 +01:00
Nick Pope
051dbb5388 Refs #34986 -- Added PyPy support to django.utils.autoreload.get_child_arguments().
It seems that `sys._xoptions` is also supported on PyPy.
2023-11-28 06:19:38 +01:00
Nick Pope
6089230d3e Refs #34986 -- Fixed mocking in utils_tests.test_http.HttpDateProcessingTests.test_parsing_rfc850.
Mocking in the `datetime` module can be tricky. In CPython the datetime
C module is used, but PyPy uses a pure Python implementation. This
caused issues with the prior approach to mocking `datetime.datetime`.

See https://docs.python.org/3/library/unittest.mock-examples.html#partial-mocking
2023-11-28 06:19:38 +01:00
Aman Pandey
0fcd72bc48 Fixed #34633 -- Made create() method of reverse many-to-one managers clear prefetch_related() cache. 2023-11-28 05:46:04 +01:00
Tom Carrick
729266c6f2 Fixed #34982 -- Fixed admin's read-only password widget and help texts alignment for tablet screen size.
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2023-11-27 14:42:25 -03:00
Mariusz Felisiak
a652f07596 Fixed #34978, Refs #31331 -- Added backward incompatibility note about raw aggregations on MySQL.
Thanks Matthew Somerville for the report.
2023-11-27 11:57:07 +01:00
Nick Pope
9baaf89eed Refs #34986 -- Added django.utils.version.PYPY. 2023-11-27 10:37:29 +01:00
Nick Pope
174369a990 Refs #34986 -- Avoided pickling error in DjangoUnicodeDecodeError.
By using the existing object reference instead of a custom one, pickling
related issues when running the test suite in parallel can be avoided.
2023-11-27 10:37:29 +01:00
Nathaniel Conroy
0257426fe1 Fixed #34992 -- Fixed DatabaseFeatures.allows_group_by_selected_pks on MariaDB with ONLY_FULL_GROUP_BY sql mode.
Regression in 041551d716.
2023-11-27 09:20:10 +01:00
Adam Johnson
0203771b62 Refs #34380 -- Improved docs for forms.URLField.assume_scheme. 2023-11-25 17:08:50 +01:00
Simon Charette
978680db22
Refs #34925 -- Avoided altering passed by reference refresh_from_db(fields).
Follow up to b0ec87b857.
2023-11-25 17:01:14 +01:00
trontelj
b0ec87b857 Fixed #34925 -- Prevented Model.refresh_from_db() from mutating list of fields. 2023-11-24 13:42:40 +01:00
Standa Opichal
1c6e8ec4ed Fixed #34968 -- Made multipart parsing of headers raise an error on too long headers.
This also allow customizing the maximum size of headers via
MAX_TOTAL_HEADER_SIZE.
2023-11-24 12:06:54 +01:00
Nick Pope
5e28cd3f2c
Fixed #34983 -- Deprecated django.utils.itercompat.is_iterable(). 2023-11-24 12:06:29 +01:00
Parth Verma
eabfa2d0e3
Fixed #34818 -- Prevented GenericIPAddressField from mutating error messages.
Co-authored-by: Parth Verma <parth.verma@gmail.com>
2023-11-24 05:46:17 +01:00
Prashant Pandey
a8adb6aa6c Fixed #26827 -- Improved ModelState error message when relations refer model classes. 2023-11-23 21:17:44 +01:00
Tom Carrick
a89c715c3b Fixed #34994 -- Fixed checkbox layout in admin's change page for narrow screen widths.
Regression in d687febce5.
2023-11-23 15:18:07 -03:00
Tom Carrick
4eb9c3d90a Fixed #34991 -- Fixed pagination links and input layout in admin's change list page when using list_editable.
Regression in b4817d20b9.

Thanks Tom Carrick for the report and fix.
2023-11-23 09:39:57 -03:00
Tom Carrick
a03593967f Fixed #14611 -- Added query_params argument to RequestFactory and Client classes. 2023-11-23 10:39:29 +01:00
Simon Charette
e76cc93b01
Fixed #34987 -- Fixed queryset crash when mixing aggregate and window annotations.
Regression in f387d024fc.

Just like `OrderByList` the `ExpressionList` expression used to wrap
`Window.partition_by` must implement `get_group_by_cols` to ensure the
necessary grouping when mixing window expressions with aggregate
annotations is performed against the partition members and not the
partition expression itself.

This is necessary because while `partition_by` is implemented as
a source expression of `Window` it's actually a fragment of the WINDOW
expression at the SQL level and thus it should result in a group by its
members and not the sum of them.

Thanks ElRoberto538 for the report.
2023-11-23 06:09:08 +01:00
Tim Schilling
aceee39d44
Fixed #34990 -- Changed link to OWASP in CSRF docs.
The OWASP site is the standard resource for web application
security information.
2023-11-23 05:27:30 +01:00
Mariusz Felisiak
101a85a5a0
Fixed #34985 -- Fixed GeneratedFields.contribute_to_class() crash when apps are not populated.
Thanks Paolo Melchiorre for the report.

Regression in f333e3513e.
2023-11-22 13:41:32 +01:00
Sarah Boyce
828082dad9 Fixed #34984 -- Skipped GeneratedFields when remaking tables on SQLite.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.t

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
2023-11-22 12:29:14 +01:00
Mariusz Felisiak
0d407bcce5
Refs #34986 -- Installed libmemcached-dev in PyPy 3.10 daily builds. 2023-11-22 09:59:11 +01:00
Mariusz Felisiak
584fc49ac4
Refs #34900 -- Skipped Selenium requirement on daily builds for Python 3.13.
Selenium required trio and trio required cffi on Windows.
2023-11-22 09:51:22 +01:00
Mariusz Felisiak
f01dc3cc42
Added PyPy 3.10 to daily builds. 2023-11-21 22:39:34 +01:00
Mariusz Felisiak
7dd3e694db
Fixed #34980 -- Changed migration operation dependencies to namedtuples. 2023-11-21 10:22:32 +01:00
Michał Górny
09b4a4e2c1 Fixed runtests.py crash on PyPy.
The gc.set_threshold() call was made conditional to non-PyPy
implementations. The method is not available in PyPy3, and GC is much
less aggressive there, so the adjustment probably is not necessary.
2023-11-21 08:07:16 +01:00
Mariusz Felisiak
6af83d2ee6
Refs #34900 -- Skipped argon2-cffi requirement on daily builds for Python 3.13. 2023-11-21 07:54:18 +01:00
Thibaud Colas
a2769a68ea
Added VoiceOver iOS and macOS separately in admin FAQ.
Follow up to 6daf86058b.
2023-11-21 05:45:50 +01:00
Mariusz Felisiak
00a950f923
Refs #34900 -- Added Python 3.13 to daily builds. 2023-11-20 19:52:56 +01:00
David Smith
f1697ec7c8
Refs #31026 -- Simplified BaseForm.get_context().
bf.errors returns an ErrorList. Access this directly and avoid creating
a new instance in BaseForm.get_context()

Calling str() on the ErrorList can also be deferred to when the
variable used in the template.
2023-11-20 08:57:03 +01:00
Mariusz Felisiak
ecfea054ee Refs #34118 -- Doc'd Python 3.12 compatibility in Django 4.2.x. 2023-11-19 16:31:46 +01:00
Mariusz Felisiak
f955c90488 Refs #34118 -- Added Python 3.12 to classifiers and tox.ini. 2023-11-19 16:31:46 +01:00
Mariusz Felisiak
19c4052f98
Refs #34118 -- Used Python 3.12 for GitHub actions. 2023-11-18 16:58:25 +01:00
Simon Charette
911b1619ab Refs #34975 -- Handled optional source expressions in Expression.get_refs().
While no code is directly exercising get_refs in a way that triggers
a crash some expressions such as Window stash None in source_expressions
which can obscure the origin of some bugs.

Handling None values like we do in other source_expression traversing
methods such as .contains_aggregates ensures we don't run into surprises
in the future where get_refs() might be used for a different purpose.
2023-11-18 15:41:59 +01:00
Simon Charette
d7a9f006ed Refs #34717 -- Avoided computing aggregate refs twice. 2023-11-18 15:41:25 +01:00
Simon Charette
15cb3c262a Refs #34975 -- Complemented rhs filtering aggregations for __in lookup.
While this isn't a regression it's clear that similar logic should be
applied when dealing with lists of expressions passed as a lookup value.
2023-11-18 15:40:52 +01:00
Simon Charette
7530cf3900 Fixed #34975 -- Fixed crash of conditional aggregate() over aggregations.
Adjustments made to solve_lookup_type to defer the resolving of
references for summarized aggregates failed to account for similar
requirements for lookup values which can also reference annotations
through Aggregate.filter.

Regression in b181cae2e3.

Refs #25307.

Thanks Sergey Nesterenko for the report.
2023-11-18 15:38:04 +01:00
Mariusz Felisiak
594873befb
Removed obsolete warnings about asgiref.sync adapters with sensitive variables.
Django 5.0+ required asgiref 3.7+, and this warning is obsolete for
asgiref 3.7+ since
be6635e0e7.
2023-11-17 12:09:32 +01:00
Thibaud Colas
6daf86058b Doc'd support for assistive technologies in the admin. 2023-11-17 09:29:24 +01:00
David Smith
eec7e9ba89 Refs #32819 -- Established relationship between form fieldsets and their help text.
This adds aria-describedby for widgets rendered in a fieldset such as
radios. aria-describedby for these widgets is added to the <fieldset>
element rather than each <input>.
2023-11-17 08:12:36 +01:00
David Smith
557fa51837 Refs #32819 -- Added aria-describedby test for widgets with custom id. 2023-11-17 05:43:33 +01:00
David Smith
292f1ea90f Refs #32819 -- Used auto_id instead of id_for_label as unique identifier for the field.
`id_for_label` is blank for widgets with multiple inputs such as radios
and multiple checkboxes. Therefore , `help_text` for fields using these
widgets cannot currently be associated using `aria-describedby`.
`id_for_label` is being used as a guard to avoid incorrectly adding
`aria-describedby` to those widgets.

This change uses `auto_id` as the unique identified for the fields
`help_text`. A guard is added to avoid incorrectly adding
`aria-describedby` to inputs by checking the widget's `use_fieldset`
attribute. Fields rendered in a `<fieldset>` should have
`aria-describedby` added to the `<fieldset>` and not every `<input>`.
2023-11-16 12:23:42 +01:00
Markus Amalthea Magnuson
61c305f298 Fixed #34970 -- Clarified Password Validation docs regarding the password_changed callback. 2023-11-15 15:35:25 -03:00
Giannis Terzopoulos
36ed45d27c
Removed obsolete sentence in custom model field docs. 2023-11-15 13:48:45 +01:00
William Hayes
640283711e
Refs #33690 -- Added missing data-theme selector to example in theming support docs. 2023-11-15 05:26:44 +01:00