1
0
mirror of https://github.com/django/django.git synced 2024-12-22 17:16:24 +00:00
Commit Graph

13681 Commits

Author SHA1 Message Date
Markus Holtermann
aa90795050 Fixed #35646 -- Extended SafeExceptionReporterFilter.hidden_settings to treat AUTH as a sensitive match.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-08-01 15:02:00 -03:00
Natalia
615c80aba6 Improved view_tests.tests.test_debug.ExceptionReporterFilterTests. 2024-08-01 15:02:00 -03:00
Bendeguz Csirmaz
1eac690d25 Refs #373 -- Added tuple lookups. 2024-08-01 17:26:09 +02:00
Sarah Boyce
3dac3271d2 Reverted "Fixed #28646 -- Prevented duplicate index when unique is set to True on PostgreSQL."
This reverts commit 9cf9c796be due to a crash on Oracle
as it didn't allow multiple indexes on the same field.
2024-08-01 09:25:33 +02:00
Jeremy Thompson
30a60e8492 Fixed #35598 -- Added SearchInput widget. 2024-07-31 13:11:45 +02:00
Ben Cail
9cf9c796be Fixed #28646 -- Prevented duplicate index when unique is set to True on PostgreSQL. 2024-07-30 17:27:10 +02:00
Tim Graham
b6ad8b687a Added missing skips in constraint tests. 2024-07-26 18:59:12 +02:00
nessita
1b277b45cc
Added dedicated test for invalid inputs in floatformat template filter tests.
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2024-07-25 16:15:53 -03:00
Lorenzo Peña
0e94f292cd Fixed #35627 -- Raised a LookupError rather than an unhandled ValueError in get_supported_language_variant().
LocaleMiddleware didn't handle the ValueError raised by
get_supported_language_variant() when language codes were
over 500 characters.

Regression in 9e9792228a.
2024-07-25 09:38:46 +02:00
Devin Cox
cd0479ff76 Fixed #35331 -- Updated dropdown lists with entries added via the '+' sign from M2M field. 2024-07-25 08:52:24 +02:00
Simon Charette
f359990e49 Fixed #35625 -- Fixed a crash when adding a field with db_default and check constraint.
This is the exact same issue as refs #30408 but for creating a model with a
constraint containing % escapes instead of column addition. All of these issues
stem from a lack of SQL and parameters separation from the BaseConstraint DDL
generating methods preventing them from being mixed with other parts of the
schema alteration logic that do make use of parametrization on some backends
(e.g. Postgres, MySQL for DEFAULT).

Prior to the addition of Field.db_default and GeneratedField in 5.0
parametrization of DDL was never exercised on model creation so this is
effectively a bug with db_default as the GeneratedField case was addressed by
refs #35336.

Thanks Julien Chaumont for the report and Mariusz Felisiak for the review.
2024-07-25 07:48:53 +02:00
Sarah Boyce
8d6a20b656 Fixed #35604, Refs #35326 -- Made FileSystemStorage.exists() behaviour independent from allow_overwrite.
Partially reverts 0b33a3abc2.

Storage.exists(name) was documented to "return False if
the name is available for a new file." but return True if
the file exists. This is ambiguous in the overwrite file
case. It will now always return whether the file exists.

Thank you to Natalia Bidart and Josh Schneier for the
review.
2024-07-24 14:55:10 +02:00
Mariusz Felisiak
df35cf578f Updated asgiref dependency for 5.1 release series. 2024-07-24 08:21:07 +02:00
Mariusz Felisiak
9f5e2306e2
Refs #29049 -- Fixed isolation of BasicExpressionsTests._test_slicing_of_f_expressions() subtests.
Thanks Tim Graham for the report.
2024-07-23 14:29:14 -03:00
Mariusz Felisiak
b06cf62c88 Cleaned up temporary test directories in tests. 2024-07-22 08:51:01 +02:00
Bendeguz Csirmaz
bdd538488c Fixed #35614 -- Prevented SQLCompiler.as_subquery_condition() from mutating a query. 2024-07-22 08:34:29 +02:00
Simon Charette
9cb8baa0c4 Fixed #35559 -- Avoided unnecessary query on sliced union of empty queries.
While refs #34125 focused on the SQL correctness of slicing of union of
potentially empty queries it missed an optimization opportunity to avoid
performing a query at all when all queries are empty.

Thanks Lucidiot for the report.
2024-07-19 08:54:47 +02:00
Simon Charette
6b3f55446f Fixed #35603 -- Prevented F.__contains__() from hanging.
Regression in 94b6f101f7.
2024-07-18 08:39:10 +02:00
Hisham Mahmood
182f262b15 Fixed #35606, Refs #34045 -- Fixed rendering of ModelAdmin.action_checkbox for models with a __html__ method.
Thank you Claude Paroz for the report.

Regression in 85366fbca7.
2024-07-18 08:09:37 +02:00
Simon Charette
0e49a8c3bd Refs #34701 -- Moved UniqueConstraint(nulls_distinct) validation tests.
The original tests required the creation of a model that is no longer necessary
and were exercising Model.full_clean(validate_constraints) which has nothing
to do with the nulls_distinct feature.
2024-07-17 12:52:17 +02:00
Simon Charette
adc0b6aac3 Fixed #35594 -- Added unique nulls distinct validation for expressions.
Thanks Mark Gensler for the report.
2024-07-17 12:52:17 +02:00
Simon Charette
13922580cc Refs #30581 -- Made unattached UniqueConstraint(fields) validation testable.
The logic allowing UniqueConstraint(fields).validate to preserve backward
compatiblity with Model.unique_error_message failed to account for cases where
the constraint might not be attached to a model which is a common pattern
during testing.

This changes allows for arbitrary UniqueConstraint(fields) to be tested in
isolation without requiring actual models backing them up.

Co-authored-by: Mark G <mark.gensler@protonmail.com>
2024-07-17 12:52:17 +02:00
nessita
5dc17177c3
Refs #10941 -- Renamed test file test_query_string.py to test_querystring.py.
This follows previous renames made in 27043bde5b.
2024-07-16 22:14:52 -03:00
Sarah Boyce
27043bde5b
Refs #10941 -- Renamed query_string template tag to querystring. 2024-07-15 13:28:55 -03:00
Maryam Yusuf
65344f0e1e Refs #35464 -- Added test to cover layout of TabularInline fieldsets. 2024-07-15 12:43:42 +02:00
Sarah Boyce
86b548a59b Removed duplicate inline from tests.admin_inlines.admin.PhotographerAdmin. 2024-07-15 11:12:14 +02:00
Mariusz Felisiak
2d3bb414cf Refs #35560 -- Corrected required feature flags in GeneratedModelUniqueConstraint. 2024-07-15 10:20:09 +02:00
Adam Johnson
86e13843c2 Refs #25466 -- Removed unused DeprecationInstanceCheck.
Unused since ff419de263.
2024-07-11 09:40:07 +02:00
Tom Carrick
7264d7f750 Fixed syntax of CSS file used in tests. 2024-07-11 08:03:21 +02:00
Mike Edmunds
b9098538a9 Fixed #35033, Refs #28912 -- Fixed repeated headers in EmailMessage.
Fixed a regression which would cause multiple To, Cc, and
Reply-To headers in the result of EmailMessage.message() if
values were supplied for both to/cc/reply_to and the
corresponding extra_headers fields.

Updated related tests to check the generated message() has
exactly one of each expected header using get_all().

Regression in b03d500295.
2024-07-11 08:00:46 +02:00
Sarah Boyce
c6d1f98d26 Improved test coverage of urlize. 2024-07-10 09:32:02 +02:00
Daniel Patrick
d12184fedc Fixed #35424 -- Checked order_with_respect_to is available when migrating _order fields.
Migrations would crash following the removal of an order_with_respect_to
field from a model and the addition of an _order field.
2024-07-10 08:40:50 +02:00
Sarah Boyce
9e9792228a Fixed CVE-2024-39614 -- Mitigated potential DoS in get_supported_language_variant().
Language codes are now parsed with a maximum length limit of 500 chars.

Thanks to MProgrammer for the report.
2024-07-09 09:21:19 -03:00
Natalia
fe4a0bbe20 Fixed CVE-2024-39330 -- Added extra file name validation in Storage's save method.
Thanks to Josh Schneier for the report, and to Carlton Gibson and Sarah
Boyce for the reviews.
2024-07-09 09:21:19 -03:00
Michael Manfre
5d86458579 Fixed CVE-2024-39329 -- Standarized timing of verify_password() when checking unusuable passwords.
Refs #20760.

Thanks Michael Manfre for the fix and to Adam Johnson for the review.
2024-07-09 09:21:19 -03:00
Adam Johnson
d666457453 Fixed CVE-2024-38875 -- Mitigated potential DoS in urlize and urlizetrunc template filters.
Thank you to Elias Myllymäki for the report.

Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2024-07-09 09:21:19 -03:00
jason_bruce
af84bcc8d1 Fixed #35580 -- Allowed related fields referencing auto-created through models. 2024-07-09 13:50:12 +02:00
wookkl
759abc4daf Fixed #35413 -- Made unsupported lookup error message more specific. 2024-07-09 09:15:38 +02:00
Mark Gensler
1005c2abd1 Fixed #35560 -- Made Model.full_clean() ignore GeneratedFields for constraints.
Accessing generated field values on unsaved models caused a crash when
validating CheckConstraints and UniqueConstraints with expressions.
2024-07-04 11:45:15 +02:00
Jake Howard
53e674d574 Fixed #35520 -- Avoided opening transaction for read-only ModelAdmin requests. 2024-07-04 11:38:58 +02:00
Jacob Walls
31837dbcb3 Fixed #35569 -- Improved wording of invalid ForeignKey error message. 2024-07-04 11:35:03 +02:00
Simon Charette
6d220963fa Fixed #28900 -- Propagated all selected fields to combinator queries.
Previously, only the selected column aliases would be propagated and
annotations were ignored.
2024-07-03 16:36:25 +02:00
Simon Charette
65ad4ade74 Refs #28900 -- Made SELECT respect the order specified by values(*selected).
Previously the order was always extra_fields + model_fields + annotations with
respective local ordering inferred from the insertion order of *selected.

This commits introduces a new `Query.selected` propery that keeps tracks of the
global select order as specified by on values assignment. This is crucial
feature to allow the combination of queries mixing annotations and table
references.

It also allows the removal of the re-ordering shenanigans perform by
ValuesListIterable in order to re-map the tuples returned from the database
backend to the order specified by values_list() as they'll be in the right
order at query compilation time.

Refs #28553 as the initially reported issue that was only partially fixed
for annotations by d6b6e5d0fd.

Thanks Mariusz Felisiak and Sarah Boyce for review.
2024-07-03 16:36:25 +02:00
Mariusz Felisiak
8719a6181e
Refs #22712 -- Corrected deprecation of "all" argument in django.contrib.staticfiles.finders.find().
Features deprecated in Django 5.2 should be removed in Django 6.1.
2024-06-28 08:39:55 -03:00
Andreu Vallbona
0fdcf1029c Fixed #22712 -- Avoided name shadowing of "all" in django.contrib.staticfiles.finders.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-06-27 23:37:12 -03:00
Salvo Polizzi
dfac15d570 Fixed #35517, Refs #35515 -- Improved test coverage of shell command. 2024-06-27 16:42:55 +02:00
nessita
e56a32b89b
Fixed 35561 -- Made *args and **kwargs parsing more strict in Model.save()/asave(). 2024-06-26 12:13:17 -03:00
Sarah Boyce
e510bb1ab1
Fixed #35558 -- Increased inline H3 headers color prominence in admin change page. 2024-06-25 14:03:21 -03:00
Adam Johnson
28522c3c8d
Fixed #35554, Refs #35060 -- Corrected deprecated *args parsing in Model.save()/asave().
The transitional logic added to deprecate the usage of *args for
Model.save()/asave() introduced two issues that this branch fixes:
 * Passing extra positional arguments no longer raised TypeError.
 * Passing a positional but empty update_fields would save all fields.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-06-25 13:12:10 -03:00
Sarah Boyce
f1705c8780 Fixed #35545, Refs #32833 -- Fixed ContentTypeManager.get_for_models() crash in CreateModel migrations.
Thank you to Csirmaz Bendegúz for the report and Simon Charettes for the review.
2024-06-24 10:20:11 +02:00
Tim Graham
7ba2a0db20
Fixed Number.__str__() crash when float/decimal_value is None in expressions tests models. 2024-06-21 16:51:41 -03:00
Ronny Vedrilla
5fef6d2445 Fixed #35528 -- Added EmailMultiAlternatives.body_contains() helper method. 2024-06-21 12:00:56 +02:00
Mariusz Felisiak
20c2d625d3 Refs #35074 -- Avoided failed attempts to remove spatial indexes on nullable fields on MySQL.
MySQL doesn't support spatial indexes on NULL columns, so there is no
point in removing them.
2024-06-20 11:44:44 +02:00
Jake Howard
aba0e541ca Fixed #35537 -- Changed EmailMessage.attachments and EmailMultiAlternatives.alternatives to use namedtuples.
This makes it more descriptive to pull out the named fields.
2024-06-20 09:43:40 +02:00
Baptiste Mispelon
62300b81cf Fixed #12978 -- Added support for RSS feed stylesheets. 2024-06-18 17:25:43 +02:00
stefan.ivic
ce1ad98565 Fixed #35505 -- Added extrabody block to admin/base.html. 2024-06-18 16:49:53 +02:00
Mariusz Felisiak
a0c44d4e23 Simplified OperationTestCase.alter_gis_model() test hook a bit.
This avoids passing "blank=False" and "srid=4326" to field classes,
which are the default values, and removes special treatment for the
"blank" parameter.
2024-06-18 12:03:57 +02:00
Alexander Lötvall
38ad710aba Fixed #35483 -- Added NUL (0x00) character validation to ModelChoiceFields.
Applied the ProhibitNullCharactersValidator to ModelChoiceField and ModelMultipleChoiceField.

Co-authored-by: Viktor Paripás <viktor.paripas@gmail.com>
Co-authored-by: Vasyl Dizhak <vasyl@dizhak.com>
Co-authored-by: Arthur Vasconcelos <vasconcelos.arthur@gmail.com>
2024-06-17 12:19:26 +02:00
Mariusz Felisiak
fa78481467 Refs #34881 -- Fixed OperationTests.test_rename_m2m_field_with_2_references() test on Oracle. 2024-06-14 19:52:09 +02:00
Mariusz Felisiak
4ee68bb4f5 Fixed mail.tests.MailTests.test_backend_arg() test on Python 3.13+.
There is no point in asserting Python error messages.
2024-06-14 13:20:54 +02:00
Anže Pečar
e99187e5c9 Fixed #34881 -- Fixed a crash when renaming a model with multiple ManyToManyField.through references on SQLite.
Thank you to dennisvang for the report and Jase Hackman for the test.

Co-authored-by: Jase Hackman <jase.hackman@zapier.com>
2024-06-13 17:49:22 +02:00
Madalin Popa
d28626ecf8 Fixed #35488 -- Fixed BaseModelFormSet.validate_unique() crash due to unhashable type. 2024-06-13 16:21:53 +02:00
George Y. Kussumoto
2a32b23382 Fixed #35417 -- Updated BaseContext.new() with values to create a context that can be flattened. 2024-06-13 14:22:40 +02:00
Devin Cox
719a42b589 Fixed #34789 -- Prevented updateRelatedSelectsOptions from
adding entries to filter_horizontal chosen box.

Co-authored-by: yokeshwaran1 <yokesh440@yahoo.com>
2024-06-12 13:09:04 +02:00
Fabian Braun
339977d444 Fixed #35477 -- Corrected 'required' errors in auth password set/change forms.
The auth forms using SetPasswordMixin were incorrectly including the
'This field is required.' error when additional validations (e.g.,
overriding `clean_password1`) were performed and failed.
This fix ensures accurate error reporting for password fields.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-05-30 16:31:01 -03:00
Jake Howard
ff308a0604
Fixed 35467 -- Replaced urlparse with urlsplit where appropriate.
This work should not generate any change of functionality, and
`urlsplit` is approximately 6x faster.

Most use cases of `urlparse` didn't touch the path, so they can be
converted to `urlsplit` without any issue. Most of those which do use
`.path`, simply parse the URL, mutate the querystring, then put them
back together, which is also fine (so long as urlunsplit is used).
2024-05-29 10:48:27 -03:00
Carlton Gibson
f4a08b6ddf
Refs #35059 -- Used asyncio.Event in ASGITest.test_asyncio_cancel_error to enforce specific interleaving.
Sleep call leads to a hard to trace error in CI. Using an Event is
more deterministic, and should be less prone to environment
variations.

Bug in 11393ab131.
2024-05-28 14:36:34 -03:00
Jacob Walls
99f23eaabd Fixed #35469 -- Removed deferred SQL to create index removed by AlterField operation. 2024-05-28 12:44:07 +02:00
Simon Törnqvist
d3a7ed5bcc Fixed #35443 -- Changed ordinal to return negative numbers unchanged.
Previously, `-1` was converted to `"-1th"`. This has been updated to
return negative numbers "as is", so that for example `-1` is
converted to `"-1"`. This is now explicit in the docs.

Co-authored-by: Martin Jonson <artin.onson@gmail.com>
2024-05-27 10:54:25 +02:00
Mariusz Felisiak
b049bec7cf Fixed #35479 -- Dropped support for PostgreSQL 13 and PostGIS 3.0. 2024-05-27 09:49:25 +02:00
Tim Graham
bcbc4b9b8a Fixed typo in migrations test name. 2024-05-23 17:19:48 +02:00
Sarah Boyce
7e39ae5c8c Fixed #35472 -- Used temporary directory in test_imagefield.NoReadTests. 2024-05-22 16:37:23 -03:00
Natalia
04a208d7f1 Increased the default PBKDF2 iterations for Django 5.2. 2024-05-22 15:44:07 -03:00
Natalia
3a748cd0f5 Advanced deprecation warnings for Django 5.2. 2024-05-22 15:44:07 -03:00
Willem Van Onsem
2995aeab56 Fixed #35393 -- Added excluded pk as a hidden field to the inline admin. 2024-05-22 10:31:24 +02:00
Hisham Mahmood
c7fc9f20b4 Fixed #31405 -- Added LoginRequiredMiddleware.
Co-authored-by: Adam Johnson <me@adamj.eu>
Co-authored-by: Mehmet İnce <mehmet@mehmetince.net>
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2024-05-22 08:51:17 +02:00
Marijke Luttekes
e4a693f50a Fixed #35189 -- Improved admin collapsible fieldsets by using <details> elements.
This work improves the accessibility of the add and change pages in the
admin site by adding <details> and <summary> elements to the collapsible
fieldsets. This has the nice side effect of no longer requiring custom
JavaScript helpers to implement the fieldsets' show/hide capabilities.

Thanks to James Scholes for the accessibility advice, and to Sarah Boyce
and Tom Carrick for reviews.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2024-05-22 00:13:55 -03:00
Marijke Luttekes
01ed59f753 Refs #35189 -- Improved admin fieldset's accessibility by setting aria-labelledby.
Before this change, HTML <fieldset> elements in the admin site did not
have an associated label to describe them. This commit defines a unique
HTML id for the heading labeling a fieldset, and sets its
aria-labelledby property to link the heading with the fieldset.
2024-05-22 00:13:55 -03:00
John Parton
9c5fe93349 Fixed #35139 -- Prevented file read after ImageField is saved to storage. 2024-05-22 00:25:56 +02:00
Berker Peksag
4971a9afe5 Fixed #18119 -- Added a DomainNameValidator validator.
Thanks Claude Paroz for the review.

Co-authored-by: Nina Menezes <77671865+nmenezes0@users.noreply.github.com>
2024-05-21 23:11:12 +02:00
Adam Johnson
b9838c65ec Fixed #35405 -- Converted get_cache_name into a cached property in FieldCacheMixin.
FieldCacheMixin is used by related fields to track their cached values.
This work migrates get_cache_name() to be a cached property to optimize
performance by reducing unnecessary function calls when working with
related fields, given that its value remains constant.

Co-authored-by: Simon Charette <charette.s@gmail.com>
Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-05-21 16:19:29 -03:00
Ryan Hiebert
c201014e85 Removed hardcoded docs version in csrf template. 2024-05-21 11:03:39 +02:00
Ben Cail
0b33a3abc2 Fixed #35326 -- Added allow_overwrite parameter to FileSystemStorage. 2024-05-21 07:28:12 +02:00
SaJH
8f205acea9 Fixed #35428 -- Increased parallelism of the ScryptPasswordHasher. 2024-05-17 17:13:58 +02:00
Mariusz Felisiak
604e32ee93 Fixed typos in test docstrings. 2024-05-16 07:57:58 +02:00
Jonny Park
c0b0ce85ed Fixed #35384 -- Raised FieldError when saving a file without a name to FileField. 2024-05-15 12:02:45 +02:00
Joachim Jablon
b691accea1 Fixed #29942 -- Restored source file linking in docs by using the Sphinx linkcode ext.
Co-authored-by: David Smith <smithdc@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-05-14 22:08:29 -03:00
Mariusz Felisiak
f030236a86 Fixed #35275 -- Fixed Meta.constraints validation crash on UniqueConstraint with OpClass().
This also introduces Expression.constraint_validation_compatible that
allows specifying that expression should be ignored during a constraint
validation.
2024-05-14 10:34:30 +02:00
Adam Johnson
d2c5a30e5a Fixed #35408 -- Optimized post-migrate permission creation.
co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2024-05-13 08:34:57 +02:00
nessita
34f329ecac
Added tests for Storage's generate_filename method. 2024-05-10 08:51:47 -03:00
SaJH
4a76ac0e9d Fixed #35429 -- Added argparse choices to --database options. 2024-05-10 11:14:07 +02:00
SaJH
f92ac845a9 Fixed #35436 -- Fixed displaying Unicode chars in forms.HStoreField. 2024-05-10 09:42:07 +02:00
Adam Johnson
7abe5112f4 Fixed #35407 -- Cached model's Options.swapped. 2024-05-07 14:25:51 +02:00
Jacob Walls
ceea86baa3 Fixed #35425 -- Avoided INSERT with force_update and explicit pk.
Affected models where the primary key field is defined with a
default or db_default, such as UUIDField.
2024-05-07 12:15:27 +02:00
sobolevn
9a27c76021 Fixed #35426 -- Updated querysets to be a required argument of GenericPrefetch. 2024-05-04 11:30:36 +02:00
Mariusz Felisiak
91a4b9a8ec Fixed #35422 -- Fixed migrations crash when altering GeneratedField referencing rename field.
Thanks Sarah Boyce for the report and Simon Charette for the
implementation idea.
2024-05-03 09:28:24 +02:00
DevilsAutumn
9aeb38c296 Fixed #35359 -- Fixed migration operations ordering when adding fields referenced by GeneratedField.expression.
Thank you to Simon Charette for the review.
2024-05-02 21:43:13 -03:00
David Sanders
97d48cd3c6 Refs #34007, Refs #35359 -- Added Q.referenced_based_fields property.
Thank you to Mariusz Felisiak and Natalia Bidart for the reviews.
2024-05-02 19:05:13 +02:00
Sarah Boyce
39828fa778 Added a high contrast mode to screenshot cases.
Thank you to Sarah Abderemane and Nick Pope for the reviews.
2024-05-02 13:18:58 +02:00
David Smith
c187f5f924 Refs #32819 -- Avoided adding 'aria-describedby' to hidden inputs.
Hidden elements are not visible for both accessibility tools and browsers presentation layer. This change therefore only reduces the size of the generated HTML.
2024-04-30 11:11:02 +02:00
Mariusz Felisiak
85c154da2f Fixed #35412 -- Dropped support for SQLite < 3.31. 2024-04-29 11:07:54 +02:00
Chris Muthig
c8df2f9941 Fixed #35339 -- Fixed PostgreSQL aggregate's filter and order_by params order.
Updated OrderableAggMixin.as_sql() to separate the order_by parameters
from the filter parameters. Previously, the parameters and SQL were
calculated by the Aggregate parent class, resulting in a mixture of
order_by and filter parameters.

Thanks Simon Charette for the review.
2024-04-25 17:40:03 -03:00
Chris Muthig
42b567ab4c Refs #35339 -- Updated Aggregate class to return consistent source expressions.
Refactored the filter and order_by expressions in the Aggregate class to
return a list of Expression (or None) values, ensuring that the list
item is always available and represents the filter expression.
For the PostgreSQL OrderableAggMixin, the returned list will always
include the filter and the order_by value as the last two elements.

Lastly, emtpy Q objects passed directly into aggregate objects using
Aggregate.filter in admin facets are filtered out when resolving the
expression to avoid errors in get_refs().

Thanks Simon Charette for the review.
2024-04-25 17:40:03 -03:00
Tim Richardson
e64d42e753 Fixed #35395 -- slice filter crashes on an empty dict with Python 3.12.
Keep consistent behaviour of slice() filter between python 3.12 and prior
versions in the case of a dict passed to the filter (catch the new to python
3.12 KeyError exception).
2024-04-24 10:53:38 +02:00
Simon Charette
83f5478225 Fixed #35356 -- Deferred self-referential foreign key fields adequately.
While refs #34612 surfaced issues with reverse one-to-one fields
deferrals, it missed that switching to storing remote fields would break
self-referential relationships.

This change switches to storing related objects in the select mask
instead of remote fields to prevent collisions when dealing with
self-referential relationships that might have a different directional
mask.

Despite fixing #21204 introduced a crash under some self-referential
deferral conditions, it was simply not working even before that as it
aggregated the sets of deferred fields by model.

Thanks Joshua van Besouw for the report and Mariusz Felisiak for the
review.
2024-04-23 13:17:17 -03:00
Marijke Luttekes
2be37b2533 Made SeleniumTests.test_inline_add_another_widgets less flaky by adding explicit wait. 2024-04-17 17:38:04 +02:00
Simon Charette
d048f0d311 Fixed #35373 -- Fixed a crash when indexing a generated field on SQLite.
Generated fields have to be excluded from the INSERT query against the remade
table including the index.

Thanks Moshe Dicker for the report, David Sanders and Mariusz Felisiak for the
review.
2024-04-16 17:27:38 +02:00
Adam Johnson
50a702f3fd Fixed #35364 -- Stopped AdminEmailHandler rendering email unnecessarily. 2024-04-12 10:37:28 +02:00
Adam Johnson
b0f2289426 Refs #35364 -- Tested AdminEmailHandler with empty ADMINS. 2024-04-12 10:37:28 +02:00
Simon Charette
73b62a2126 Refs #35194 -- Adjusted a generated field test to work on Postgres 15.6+.
Postgres >= 12.18, 13.14, 14.11, 15.6, 16.2 changed the way the immutability
of generated and default expressions is detected in postgres/postgres@743ddaf.

The adjusted test semantic is presereved by switching from __icontains to
__contains as both make use of a `%` literal which requires proper escaping.

Refs #35336.

Thanks bcail for the report.
2024-04-12 10:23:04 +02:00
Sarah Boyce
f973a70bfc
Made postgresql.tests.Tests.test_connect_pool less flaky by increasing timeout value. 2024-04-10 14:09:52 -03:00
Natalia
338ec052b4 Refs #35361 -- Added test for Email line length checks when dealing with surrogate pairs.
Refs #33173, #34118 and #34900.
2024-04-10 17:56:55 +02:00
Sarah Boyce
8b53560eea Fixed #35350 -- Fixed save() with pk set on models with GeneratedFields.
Thanks Matt Hegarty for the report and Simon Charette and Natalia Bidart for the reviews.

Regression in f333e35.
2024-04-10 15:43:50 +02:00
Carlton Gibson
bcd255cd5c Fixed #35354 -- Simplified ASGIRequest path handling.
Following the ASGI HTTP Connection Scope docs[0], the provided `path`
is already the correct value that Django requires.

In combination with `root_path`, from which `script_name` is derived,
the `path_info` variable is set. It's then redundant to
re-calculate `path` from `script_name` and `path_info`.

See also, a clarifying discussion on the ASGIref repo[1].

[0]: https://asgi.readthedocs.io/en/latest/specs/www.html#http-connection-scope
[1]: https://github.com/django/asgiref/issues/424
2024-04-05 11:35:38 +02:00
Carlton Gibson
4d2ef9bb82 Refs #35169 -- Added test for ASGIRequest root_path handling. 2024-04-05 11:30:33 +02:00
Sarah Boyce
89403dbedd Fixed SeleniumTests.test_related_object_update_with_camel_casing() assert.
A selenium web element was compared to a string rather than its innerHTML.
2024-04-03 09:29:01 +02:00
devin13cox
8665cf03d7
Fixed #35330 -- Fixed the update of related widgets when the referenced model is camel case named.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-04-02 22:00:25 -03:00
Simon Charette
888b9042b3
Fixed #35336 -- Addressed crash when adding a GeneratedField with % literals.
A longer term solution is likely to have a better separation of parametrized
DDL altogether to handle checks, constraints, defaults, and generated fields
but such a change would require a significant refactor that isn't suitable
for a backport.

Thanks Adrian Garcia for the report.
2024-04-02 17:33:31 -03:00
Johannes Westphal
5f18021640 Fixed #35344, Refs #34838 -- Corrected output_field of resolved columns for GeneratedFields in aliased tables.
Thanks Simon Charette for the review.
2024-04-01 18:54:38 +01:00
Fabian Braun
944745afe2 Fixed #34977 -- Improved accessibility in the UserChangeForm by replacing the reset password link with a button.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-03-27 16:40:41 -03:00
Giannis Terzopoulos
d658a3162f Fixed #35233 -- Moved template engine system checks to backend methods.
Thanks Adam Johnson for reviews.
2024-03-27 08:14:54 +01:00
Mariusz Felisiak
b98271a6e4
Fixed #35329 -- Fixed migrations crash when adding partial unique constraints with nulls_distinct.
Bug in 595a2abb58.

Thanks Lucas Lemke Saunitti for the report.
2024-03-26 22:58:47 +01:00
Mariusz Felisiak
a2dcc4ecbb
Increased test coverage for django.db.migrations.operations.special. 2024-03-25 08:31:32 +01:00
Ben Cail
07c8d979ae Fixed #35323 -- Prevented file_move_safe() from trying to overwrite existing file when allow_overwrite is False. 2024-03-24 16:05:36 +01:00
Mariusz Felisiak
1c11dba835
Added ModelState.from_model() test for abstract model with unnamed indexes. 2024-03-22 13:31:33 +01:00
sharonwoo
6a37e9bfae Fixed #35257 -- Corrected resolving output_field for IntegerField/DecimalField with NULL. 2024-03-21 10:13:54 +01:00
Mariusz Felisiak
6f7c0a4d66
Fixed ResourceWarning from unclosed SQLite connection in test_utils on Python 3.13+.
On SQLite, close() doesn't explicitly close in-memory connections.

Follow up to 921670c694 and
dd45d5223b.
2024-03-20 11:44:30 +01:00
Laurent Lyaudet
f2388a4b73 Fixed #35309 -- Made prefetch clear ordering for single-valued relationships. 2024-03-20 05:26:18 +01:00
Mariusz Felisiak
921670c694
Fixed ResourceWarning from unclosed SQLite connection on Python 3.13+.
On SQLite, close() doesn't explicitly close in-memory connections.

Follow up to dd45d5223b.
2024-03-19 10:03:12 +01:00
Claude Paroz
10b31eea33 Refs #31014 -- Added srid argument to FromWKB/FromWKT() GIS functions. 2024-03-18 09:45:33 +01:00
Adam Johnson
7646b9023d
Fixed #35301 -- Fixed Options._property_names for overriden properties.
Regression in faeb92ea13.
2024-03-17 09:43:04 +01:00
Adam Johnson
cbf1e87398 Fixed #35294 -- Fixed TEXT format of QuerySet.explain() for long plans.
co-authored-by: Gordon <gordon.wrigley@gmail.com>
co-authored-by: Simon Charette <charette.s@gmail.com>
2024-03-15 06:58:14 +01:00
Ben Cail
593067a8ee Fixed #28541 -- Fixed migrations crash when changing primary key on SQLite. 2024-03-14 20:56:43 +01:00
Johannes Maron
3d7235c67b Refs #34488 -- Made ClearableFileInput preserve "Clear" checked attribute when form is invalid. 2024-03-14 14:03:14 +01:00
Johannes Maron
e69019555d Fixed #35273 -- Fixed rendering AdminFileWidget's attributes.
Regression in 8a6c0203c4.
2024-03-14 14:03:09 +01:00
Jon Janzen
f5c340684b Fixed #34901 -- Added async-compatible interface to session engines.
Thanks Andrew-Chen-Wang for the initial implementation which was posted
to the Django forum thread about asyncifying contrib modules.
2024-03-13 17:55:15 +01:00
Mariusz Felisiak
33c06ca0da
Refs #32673, Refs #35295 -- Avoided wrapping rhs direct values in lookups. 2024-03-13 17:46:37 +01:00
Claude Paroz
894fa55da1
Applied BoundingCircle test to only one country.
Looks like testing the second Country is much more computing-intensive
and brings nothing to the test.
2024-03-10 20:59:36 +01:00
Giannis Terzopoulos
73df8b54a2 Fixed #35044 -- Avoided clearing reverse relations and private fields when accessing deferred fields.
Regression in a7b5ad8b19 for reverse
relations and possibly in 123b1d3fcf for
private fields.
2024-03-08 11:09:54 +01:00
Giannis Terzopoulos
0c690c6001 Refs #35044 -- Added Model.refresh_from_db(fields=...) test for clearing reverse relations. 2024-03-08 10:27:19 +01:00
Ben Cail
1570ef02f3 Fixed #35223 -- Made Model.full_clean() ignore fields with db_default when validating empty values.
Thanks Brian Ibbotson for the report.

Regression in 7414704e88.
2024-03-08 05:55:25 +01:00
Dingning
549320946d Fixed #35030 -- Made django.contrib.auth decorators to work with async functions. 2024-03-07 09:59:33 +01:00
cuinix
20848bcf39 Fixed typos in docstrings and docs.
Signed-off-by: cuinix <915115094@qq.com>
2024-03-07 06:01:01 +01:00
Mariusz Felisiak
c4df2a7776
Refs #35030 -- Added more tests for @user_passes_test decorator. 2024-03-06 13:28:32 +01:00
Michail Chatzis
4426b1a72d Fixed #35021 -- Fixed capturing queries when using client-side parameters binding with psycopg 3+. 2024-03-06 11:24:58 +01:00
Adam Johnson
eff21d8e7a Fixed #35252 -- Optimized _route_to_regex().
co-authored-by: Nick Pope <nick@nickpope.me.uk>
2024-03-05 13:09:10 +01:00
Mariusz Felisiak
241adf678f
Used sys_platform in tests requirements.
We already use implementation_name and python_version markers
so it's more consistent. Moreover, marker values can be specified
via pip's command line options.
2024-03-05 13:08:23 +01:00
Adam Zapletal
3d4fe39bac Refs #21286 -- Removed invalid commented out models and tests from serializer tests.
FileField/ImageField cannot be primary keys, so serialization support
for this case will not be implemented.

XMLField was removed in d1290b5b43.
2024-03-04 11:38:18 +01:00
Mariusz Felisiak
838659ea21
Updated fuzzy translations in tests.i18n.patterns.
Follow up to 9fd1b6f3f8.
2024-03-04 11:24:21 +01:00
Shai Berger
f6ad8c7676 Refs CVE-2024-27351 -- Forwardported release notes and tests.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2024-03-04 08:22:00 +01:00
Kasun Herath
f5ed4306bb
Fixed #35265 -- Added AdminSite tests for changing titles. 2024-03-04 05:34:42 +01:00
Adam Johnson
c187417611
Refs #9847 -- Added tests for handler403 resolution. 2024-03-04 05:24:36 +01:00
Adam Johnson
595738296f Refs #26431 -- Added more test for translated path(). 2024-03-02 19:54:21 +01:00
Adam Johnson
9fd1b6f3f8 Updated translation catalogs in tests.i18n.patterns. 2024-03-02 19:54:21 +01:00
Sarah Boyce
fad334e1a9 Refs #33497 -- Added connection pool support for PostgreSQL.
Co-authored-by: Florian Apolloner <florian@apolloner.eu>
Co-authored-by: Ran Benita <ran@unusedvar.com>
2024-03-01 09:01:18 +01:00
Simon Charette
daf7d482db Refs #35234 -- Deprecated CheckConstraint.check in favor of .condition.
Once the deprecation period ends CheckConstraint.check() can become the
documented method that performs system checks for BaseConstraint
subclasses.
2024-03-01 07:15:32 +01:00
Simon Charette
f82c67aa21 Fixed #35234 -- Added system checks for invalid model field names in ExclusionConstraint.expressions. 2024-02-29 12:22:17 +01:00
Shafiya Adzhani
a738281265 Fixed #35198 -- Fixed facet filters crash on querysets with no primary key.
Thanks Simon Alef for the report.

Regression in 868e2fcdda.
2024-02-29 10:01:18 +01:00
Mariusz Felisiak
0e84e70bc8
Refs #35090 -- Fixed urlpatterns.tests.SimplifiedURLTests when run in reverse. 2024-02-29 08:22:03 +01:00
Adam Zapletal
107aa76bcf Fixed #29022 -- Fixed handling protocol-relative URLs in ManifestStaticFilesStorage when STATIC_URL is set to /. 2024-02-28 06:24:24 +01:00
David Wobrock
ef2434f850
Refs #32114 -- Fixed test crash on non-picklable objects in subtests when PickleError is raised.
Related to the https://github.com/python/cpython/issues/73373.

Follow up to c09e8f5fd8.
2024-02-26 17:18:48 +01:00
Adam Johnson
73d5eb8084 Fixed #35241 -- Cached model's full parent list.
co-authored-by: Keryn Knight <keryn@kerynknight.com>
co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
co-authored-by: David Smith <smithdc@gmail.com>
co-authored-by: Paolo Melchiorre <paolo@melchiorre.org>
2024-02-26 05:38:31 +01:00
Salvo Polizzi
6e1ece7ed5 Fixed #35090 -- Deprecated registering URL converters with the same name. 2024-02-23 15:54:49 +01:00
Florian Apolloner
50e95ad536 Simplified using DATABASES["OPTIONS"].
DATABASES["OPTIONS"] are always configured.
2024-02-23 07:49:43 +01:00
Mariusz Felisiak
f835787f71
Refs #32114 -- Fixed RemoteTestResultTest.test_unpicklable_subtest test without tblib.
Follow up to c09e8f5fd8.
2024-02-22 06:27:39 +01:00
Sulabh Katila
eceb5e2eea
Fixed #34806 -- Made cached_db session backend resilient to cache write errors.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-02-21 21:51:58 -03:00
David Wobrock
c09e8f5fd8 Fixed #32114 -- Fixed parallel test crash on non-picklable objects in subtests. 2024-02-21 12:04:03 +01:00
Mariusz Felisiak
a269d8d1d8
Removed obsolete test_get_or_create_raises_IntegrityError_plus_traceback() test.
This test was added in 31b1cbc623, but is
no longer needed, as the fix was reverted in
746caf3ef8 without any consequences, so
it now tests Python behavior rather than Django. Moreover, traceback
introspection is problematic for .pyc-only installations.
2024-02-21 11:50:22 +01:00
Simon Charette
abe6c1f93e Refs #30913 -- Corrected IndexesTests.test_index_include_pointing_to_fk().
This adjusts a test assigning an Index to Meta.constraints.
2024-02-21 08:25:41 +01:00
AlexCLeduc
a084c5d35a Fixed #35238 -- Fixed database serialization crash when base managers use prefetch_related().
Regression in 1391356276
following deprecation in eedbf930287cb72e9afab1f7208c24b1146b0c4ec.
2024-02-20 22:14:17 +01:00
Adam Zapletal
eb2d49b734 Fixed #23759 -- Preserved all file extensions in Storage.get_available_name(). 2024-02-20 21:06:39 +01:00
Mariusz Felisiak
3426a5c33c
Refs #34900 -- Fixed CommandTypes.test_help_default_options_with_custom_arguments test on Python 3.13+.
c4a2e8a2c5
2024-02-20 20:59:26 +01:00
Fabian Braun
e626716c28 Fixed #34429 -- Allowed setting unusable passwords for users in the auth forms.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2024-02-20 12:13:32 -03:00
Natalia
8a757244f9 Refs #34429 -- Defined test user with unusable password for auth forms tests. 2024-02-20 12:12:37 -03:00
Mariusz Felisiak
5f637a8a8d
Fixed #35226 -- Reallowed executing queries for dynamically created connections.
Regression in 8fb0be3500.

Thanks Florian Apolloner for the report.
2024-02-19 18:34:18 +01:00
Mariusz Felisiak
9350308f37
Fixed closing connections in test_utils.tests.AllowedDatabaseQueriesTests. 2024-02-19 14:08:30 +01:00
Adam Johnson
f65f8ab84e Refs #28011 -- Removed ForeignObjectRel.is_hidden(). 2024-02-19 12:22:46 +01:00
Adam Johnson
f25d84f61a Fixed #35232 -- Cached model's Options.verbose_name_raw. 2024-02-19 06:05:52 +01:00
Adam Johnson
28a3fbe004
Fixed #35229 -- Made URL custom error handler check run once. 2024-02-19 05:58:37 +01:00
Adam Johnson
5e80390add
Fixed #35230 -- Added cached ForeignObjectRel.accessor_name. 2024-02-19 05:47:12 +01:00
Aaron Linville
7a05b8a2fa Fixed #24018 -- Allowed setting pragma options on SQLite. 2024-02-16 12:59:19 +01:00
ontowhee
66e47ac69a Fixed #29725 -- Removed unnecessary join in QuerySet.count() and exists() on a many to many relation.
Co-Authored-By: Shiwei Chen <april.chen.0615@gmail.com>
2024-02-16 08:57:16 +01:00
Simon Charette
0d8fbe2ade Refs #34060 -- Fixed crash when filtering against literal JSON with psycopg2. 2024-02-16 07:40:33 +01:00
Albert Defler
c991602ce5 Fixed #34060 -- Fixed migrations crash when adding check constraints with JSONField __exact lookup on Oracle. 2024-02-15 13:57:58 +01:00
Shafiya Adzhani
22285d366c Fixed #33037 -- Fixed Trunc() with offset timezones on MySQL, SQLite, Oracle. 2024-02-15 10:02:57 +01:00
Shafiya Adzhani
2aa8388110 Improved test helpers in truncated date/time field tests.
Co-authored-by: Lily Foote <code@lilyf.org>
2024-02-15 10:02:53 +01:00
Hisham Mahmood
8db593de05
Fixed #35173 -- Fixed ModelAdmin.lookup_allowed() for lookups on foreign keys when not included in ModelAdmin.list_filter.
Regression in f80669d2f5.

Thanks Sarah Boyce for the review.
2024-02-14 22:29:49 -03:00
Salvo Polizzi
e6fa74f020 Fixed #35179 -- Made admindocs detect positional/keyword-only arguments. 2024-02-14 13:17:40 +01:00
Moein Bbp
cf107fe255 Fixed #35122 -- Made migrate --prune option respect --app_label. 2024-02-13 14:47:49 +01:00
David Smith
222bf2932b Refs #35058 -- Added support for measured geometries to GDAL GeometryCollection and subclasses. 2024-02-12 15:21:11 +01:00
Daniel Garcia Moreno
bc8471f0aa Refs #34900, Refs #34118 -- Updated assertion in test_skip_class_unless_db_feature() test on Python 3.12.2+.
Python 3.12.2 bring back the skipped tests in the number of running
tests. Refs
0a737639dc
2024-02-10 16:14:51 +01:00
David Sanders
06264258dc Fixed #35175 -- Made migraton writer preserve keyword-only arguments.
Thanks Gerald Goh for the report.
2024-02-09 09:37:13 +01:00
Ben Cail
8b7ddd1b62 Refs #34534 -- Reduced constraint operations with Meta.constraints when optimizing migrations. 2024-02-09 07:02:52 +01:00
bcail
9c5e382b98
Fixed #35073 -- Avoided unnecessary calling of callables used by SET/SET_DEFAULT in Collector.collect(). 2024-02-08 18:41:32 +01:00
Vašek Dohnal
1b5338d03e Fixed #35174 -- Fixed Signal.asend()/asend_robust() crash when all receivers are asynchronous.
Regression in e83a88566a.
2024-02-08 11:36:28 +01:00
Mariusz Felisiak
2f14c2cedc
Fixed #35172 -- Fixed intcomma for string floats.
Thanks Warwick Brown for the report.

Regression in 55519d6cf8.
2024-02-08 10:58:54 +01:00
Hisham Mahmood
d79fba7d8e Fixed #35099 -- Prevented mutating queryset when combining with & and | operators.
Thanks Alan for the report.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2024-02-07 12:36:30 +01:00
David Smith
6ee37ada32 Fixed #30686 -- Used Python HTMLParser in utils.text.Truncator. 2024-02-07 09:46:25 +01:00
David Smith
70f39e46f8 Refs #30686 -- Fixed text truncation for negative or zero lengths. 2024-02-07 05:18:35 +01:00
nessita
3e820d10f8
Refs #10743 -- Removed leftover comment in tests/admin_changelist/tests.py. 2024-02-06 16:50:54 -03:00
David Smith
48a4693951 Refs #30686 -- Improved test coverage of Truncator. 2024-02-06 16:35:08 +01:00
Adam Johnson
55519d6cf8 Fixed CVE-2024-24680 -- Mitigated potential DoS in intcomma template filter.
Thanks Seokchan Yoon for the report.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Shai Berger <shai@platonix.com>
2024-02-06 09:07:31 -03:00
Tom Carrick
9cefdfc43f Refs #10743 -- Enabled ordering for lookups in ModelAdmin.list_display.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Nina Menezes <https://github.com/nmenezes0>
2024-02-05 21:42:04 -03:00
Tom Carrick
4ade8386eb Fixed #10743 -- Allowed lookups for related fields in ModelAdmin.list_display.
Co-authored-by: Alex Garcia <me@alexoteiza.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Nina Menezes <https://github.com/nmenezes0>
2024-02-05 21:42:04 -03:00
Rinat Khabibiev
3580b47ed3 Fixed #27225 -- Added "Age" header when fetching cached responses.
Co-Authored-By: Author: Alexander Lazarević <laza@e11bits.com>
2024-02-05 13:27:51 +01:00
Alexander Lazarević
4b1cd8edc1 Corrected cache_page()'s timeout value in tests.generic_views.urls. 2024-02-05 13:27:51 +01:00
Ben Cail
02a600ff67 Fixed #16281 -- Fixed ContentType.get_object_for_this_type() in a multiple database setup. 2024-02-05 08:25:23 +01:00
Simon Charette
e67d7d70fa Fixed #35149 -- Fixed crashes of db_default with unresolvable output field.
Field.db_default accepts either literal Python values or compilables
(as_sql) and wrap the former ones in Value internally.

While 1e38f11 added support for automatic resolving of output fields for
types such as str, int, float, and other unambigous ones it's cannot do
so for all types such as dict or even contrib.postgres and contrib.gis
primitives.

When a literal, non-compilable, value is provided it likely make the
most sense to bind its output field to the field its attached to avoid
forcing the user to provide an explicit `Value(output_field)`.

Thanks David Sanders for the report.
2024-02-04 09:39:41 +01:00
Simon Charette
fe1cb62f5c Refs #35149 -- Made equivalent db_default alterations noops.
This allows for an easier transition of preserving the literal nature of
non-compilable db_default.
2024-02-04 09:31:06 +01:00
Simon Charette
dfc77637ea Fixed #35162 -- Fixed crash when adding fields with db_default on MySQL.
MySQL doesn't allow literal DEFAULT values to be used for BLOB, TEXT,
GEOMETRY or JSON columns and requires expression to be used instead.

Regression in 7414704e88.
2024-02-03 22:47:40 +01:00
James Thorniley
11393ab131 Fixed #35059 -- Ensured that ASGIHandler always sends the request_finished signal.
Prior to this work, when async tasks that process the request are cancelled due
to receiving an early "http.disconnect" ASGI message, the request_finished
signal was not being sent, potentially leading to resource leaks (such as
database connections).

This branch ensures that the request_finished signal is sent even in the case
of early termination of the response.

Regression in 64cea1e48f.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2024-01-31 14:40:57 -03:00
Natalia
a43d75e81d Refs #35059 -- Made asgi tests' SignalHandler helper class re-usable by other tests. 2024-01-31 14:39:40 -03:00
Mariusz Felisiak
38eaf2f21a
Fixed #35159 -- Fixed dumpdata crash when base querysets use prefetch_related().
Regression in 1391356276
following deprecation in edbf930287.

Thanks Andrea F for the report.
2024-01-31 16:10:05 +01:00
David Smith
d3922e9e5a
Refs #35058 -- Added support for measured geometries to GDAL Polygon. 2024-01-31 13:11:16 +01:00
Marijke Luttekes
b9e2a3fc63 Fixed #35143 -- Improved accessibility of 404/500 debug pages.
This:
- changes the header, main, and footer content areas to be rendered
  in a <header>, <main>, and <footer> tags,
- adds scope attributes to <th>,
- uses <code> for a patterns list,
- uses <small> instead of <span>.
2024-01-31 12:26:00 +01:00
Anže Pečar
a0204ac183 Fixed #29280 -- Made the transactions behavior configurable on SQLite. 2024-01-30 11:42:34 +01:00
Nicolas Delaby
820c5f1bac Fixed #35135 -- Made FilteredRelation raise ValueError on querysets as rhs.
Regression in 59f4754704.
2024-01-29 20:29:49 +01:00
Alexander Lazarević
22785f0d6b Refs #35141 -- Corrected value of CACHE_MIDDLEWARE_SECONDS in CacheMiddlewareTest tests. 2024-01-29 19:18:43 +01:00
Kris Avi
b7154f811f Fixed #24128 -- Made admindocs TemplateDetailView respect template_loaders.
Co-Authored-By: Author: Alexander Lazarević <laza@e11bits.com>
2024-01-29 10:28:00 +01:00
David Smith
1df8983aa3 Refs #35058 -- Added support for measured geometries to GDAL LineString. 2024-01-29 08:44:42 +01:00
David Smith
2005530920 Refs #35058 -- Made centroid available on all geometry types.
Centroid is available on all geometry types since GDAL 1.8.0.
Previously it was restricted to Polygon.

https://gdal.org/doxygen/classOGRGeometry.html#a91787f669b2a148169667e270e7e40df
2024-01-28 14:40:19 +01:00
Mariusz Felisiak
305757aec1
Applied Black's 2024 stable style.
https://github.com/psf/black/releases/tag/24.1.0
2024-01-26 12:45:07 +01:00
David Smith
3f6d939c62 Refs #35058 -- Added support for measured geometries to GDAL Point.
Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2024-01-25 08:59:16 +01:00
Baptiste Mispelon
a702a0773d
Added test for the sendtestemail command when no recipients are given. 2024-01-24 15:02:42 -03:00
Marijke Luttekes
e412d85b46
Fixed #35115 -- Made admin's footer render in <footer> tag. 2024-01-24 14:11:54 +01:00
David Smith
f4c5973464 Refs #35058 -- Deprecated OGRGeometry.coord_dim setter.
Reflecting a change in the underlying GDAL library (since GDAL 2.1)
using coord_dim to set a geometries dimensions is deprecated in favor
of set_3d().
2024-01-23 05:37:59 +01:00
David Smith
1c3a9b9f96 Added more WKT and WKB tests. 2024-01-22 10:40:32 +01:00
Mariusz Felisiak
4879907223
Fixed #35127 -- Made Model.full_clean() ignore GeneratedFields.
Thanks Claude Paroz for the report.

Regression in f333e3513e.
2024-01-19 08:55:50 +01:00
Mariusz Felisiak
51967b56c4
Corrected forms imports in forms_tests/tests/test_forms.py. 2024-01-18 12:20:19 +01:00
David Smith
cfacd69ab8 Refs #35058 -- Added is_3d and set_3d() to OGRGeometry. 2024-01-18 10:48:40 +01:00
Amir Karimi
27a3eee721 Fixed #31700 -- Made makemigrations command display meaningful symbols for each operation. 2024-01-17 14:00:02 +01:00
Alexis Athlani
c7e986fc9f Fixed #35117 -- Added support for the hectare unit in Area. 2024-01-16 20:31:46 +01:00
Simon Charette
0fcee1676c Fixed #35111 -- Fixed compilation of DateField __in/__range rhs on SQLite and MySQL.
Also removed tests that ensured that adapt_(date)timefield backend
operations where able to deal with expressions when it's not the case
for any other adapt methods.
2024-01-16 08:34:14 +01:00
Simon Charette
561f770415 Refs #22288 -- Corrected __range lookup test names. 2024-01-16 08:34:06 +01:00
Aivars Kalvans
f92641a636 Fixed #28344 -- Allowed customizing queryset in Model.refresh_from_db()/arefresh_from_db().
The from_queryset parameter can be used to:
- use a custom Manager
- lock the row until the end of transaction
- select additional related objects
2024-01-15 10:55:14 +01:00
Simon Charette
92d6cff6a2 Fixed #35028 -- Disabled server-side bindings for named cursors on psycopg >= 3.
While we provide a `cursor_factory` based on the value of the
`server_side_bindings` option to `psycopg.Connection` it is ignored by
the `cursor` method when `name` is specified for `QuerySet.iterator()`
usage and it causes the usage of `psycopg.ServerCursor` which performs
server-side bindings.

Since the ORM doesn't generates SQL that is suitable for server-side
bindings when dealing with parametrized expressions a specialized cursor
must be used to allow server-side cursors to be used with client-side
bindings.

Thanks Richard Ebeling for the report.

Thanks Florian Apolloner and Daniele Varrazzo for reviews.
2024-01-12 21:40:18 +01:00
nessita
02eaee1209
Added test ensuring that validate_password is used in AdminPasswordChangeForm.
Co-authored-by: Fabian Braun <fsbraun@gmx.de>
2024-01-12 17:27:55 -03:00
Florian Apolloner
6e520d9537 Avoided nested transactions in SkippingClassTestCase. 2024-01-12 09:57:52 +01:00
Alexander Lazarević
4787972c94 Refs #28404 -- Made displaying property values in admin respect non-None empty values. 2024-01-11 12:47:06 +01:00
Nick Pope
40b5b1596f Fixed #35100 -- Reworked GeoIP2 database initialization. 2024-01-11 12:01:35 +01:00
Nick Pope
f50184a84b
Fixed #35092 -- Exposed extra fields for GeoIP2.country() and GeoIP2.city() responses. 2024-01-10 12:09:44 +01:00
Alexander Lazarević
9b02ad91ea Fixed #28404 -- Made displaying values in admin respect Field's empty_values. 2024-01-10 08:34:25 +01:00
Tim Graham
ecd3071dac
Fixed #35097 -- Tested parse_datetime() with bare date.
Regression test for behavior change in
f35ab74752.
2024-01-09 14:08:03 -03:00
Alexander Lazarević
1b0a8991ae Refs #28404 -- Split test_null_display_for_field() test. 2024-01-09 11:44:16 +01:00
Sarah Boyce
a9094ec1f4 Fixed #35087 -- Reallowed filtering against foreign keys not listed in ModelAdmin.list_filters.
Regression in f80669d2f5.
2024-01-08 09:21:54 +01:00
Nick Pope
cc56c22a24
Fixed #35091 -- Allowed GeoIP2 querying using IPv4Address/IPv6Address. 2024-01-07 08:15:40 +01:00
David Smith
45f59d0eab Fixed #35086 -- Added support for BoundedCircle on Spatialite 5.1+.
Spatialite 5.1 added support for BoundingCircle
(GEOSMinimumBoundingCircle). GEOS 3.7 is required which is lower than
Django's currently supported minmum of 3.8.

https://groups.google.com/g/spatialite-users/c/hAJ2SgitN4M

https://www.gaia-gis.it/gaia-sins/spatialite-sql-5.1.0.html
2024-01-05 11:55:44 +01:00
Mariusz Felisiak
0c5456ef37
Used enterClassContext() where appropriate. 2024-01-04 05:55:29 +01:00
David Wobrock
8fb0be3500 Fixed #33277 -- Disallowed database connections in threads in SimpleTestCase. 2024-01-03 13:02:26 +01:00
Nick Pope
45f778eded Fixed #35075 -- Added deduplicate_items parameter to BTreeIndex. 2024-01-02 12:55:12 +01:00