Commit Graph

13513 Commits

Author SHA1 Message Date
David Smith 557fa51837 Refs #32819 -- Added aria-describedby test for widgets with custom id. 2023-11-17 05:43:33 +01:00
Mariusz Felisiak c705625ebf Refs #34944 -- Propagated system checks for GeneratedField.output_field. 2023-11-14 20:22:07 +01:00
Mariusz Felisiak 5875f03ce6 Fixed #34944 -- Made GeneratedField.output_field required.
Regression in f333e3513e.
2023-11-14 20:22:07 +01:00
Mariusz Felisiak de4884b114 Reverted "Refs #30446, Refs #34944 -- Fixed crash when adding GeneratedField with string Value()."
This reverts commit 8b1acc0440.
2023-11-14 15:45:43 +01:00
Simon Charette 6364b6ee10 Fixed #34955 -- Made Concat() use || operator on PostgreSQL.
This also avoids casting string based expressions in Concat() on
PostgreSQL.
2023-11-14 10:56:20 +01:00
jedidiah bdf30b952c Fixed #34919 -- Added scope attribute to admindocs model templates. 2023-11-14 05:34:56 +01:00
Andrew Cordery ad41f1c53a Fixed #34952 -- Copied dir list when processing locale folders to avoid missing entries during os.walk traversal.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2023-11-13 14:03:48 -03:00
David Sanders b863c5ffde Fixed #34967 -- Fixed queryset crash when grouping by constants on SQLite < 3.39.
On SQLite < 3.39, this forces a GROUP BY clause with a HAVING clause
when no grouping is specified.

Co-authored-by: Simon Charette <charette.s@gmail.com>
2023-11-13 12:01:40 +01:00
nessita 1b56b24f81
Fixed #34958 -- Fixed isolation of messages_tests.tests.TestLevelTags.test_lazy. 2023-11-13 09:35:57 +01:00
Adam Johnson f7389c4b07 Fixed #34457 -- Restored output for makemigrations --check.
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2023-11-09 10:03:19 -03:00
Simon Charette 8b1acc0440 Refs #30446, Refs #34944 -- Fixed crash when adding GeneratedField with string Value().
This should allow smarter output_field inferring in functions dealing
with text expressions.

Regression in f333e3513e.
2023-11-08 15:48:15 +03:00
Natalia 5f2f12f61c Reverted "Fixed #34830 -- Added request to csrf_failure view's template context."
This reverts commit 535f7b5c6c.
2023-11-08 08:50:55 -03:00
Prakhar 535f7b5c6c Fixed #34830 -- Added request to csrf_failure view's template context.
Co-authored-by: nessita <124304+nessita@users.noreply.github.com>
2023-11-07 09:09:39 -03:00
Simon Charette 8a28e983df
Fixed #34946 -- Preserved db_default on combined default field addition.
Regression in 7414704e88.
2023-11-07 13:32:34 +03:00
David Sanders 797957fb48 Fixed #34936 -- Fixed migration crash for DecimalField with db_default on SQLite.
CAST() must be wrapped in parentheses to be recognized as an expression on SQLite.

Regression in 7414704e88.
2023-11-02 17:57:39 +01:00
David Sanders 1944f490f9 Refs #34936 -- Added test for altering DecimalField with db_default to non-nullable. 2023-11-02 17:57:34 +01:00
Tim Graham 208870b612 Refs #31300 -- Allowed testing GeneratedField without collation.
CockroachDB and Snowflake don't support it.
2023-11-02 13:58:46 +01:00
Antoine Cheneau 65c283be16 Fixed #34927 -- Fixed admin system check for inlines with foreign keys to proxy models.
Follow up to 0e8be73812.
2023-11-02 10:42:20 +01:00
Mariusz Felisiak 05ba4130ee Fixed CVE-2023-46695 -- Fixed potential DoS in UsernameField on Windows.
Thanks MProgrammer (https://hackerone.com/mprogrammer) for the report.
2023-11-01 06:10:30 +01:00
Akash Kumar Sen 40b3975e7d Fixed #34462 -- Made admin log actions in bulk.
This also deprecates ModelAdmin.log_deletion() and
LogEntryManager.log_action().
2023-10-31 18:06:44 +01:00
Akash Kumar Sen 45e0c5892f Refs #34462 -- Moved ModelAdmin.log_deletion() test to a separate test case. 2023-10-31 10:36:23 +01:00
Ben Cail 523fed1d2f Fixed #32106 -- Preserved HTTP_HOST in test Client when following redirects.
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
2023-10-31 05:29:43 +01:00
Sarah Boyce e4d012ca05 Refs #29850 -- Added exclusion support to window frames. 2023-10-30 12:04:55 +01:00
Tom Carrick 34b411762b Fixed #34932 -- Restored varchar_pattern_ops/text_pattern_ops index creation when deterministic collaction is set.
Regression in f3f9d03edf (4.2) and
8ed25d65ea (5.0).
2023-10-30 07:37:40 +01:00
Sarah Boyce 6375cee490 Refs #29850 -- Added RowRange support for positive integer start and negative integer end. 2023-10-28 15:16:07 +02:00
ksg a6c7db1d1d
Fixed #34943 -- Made EmailValidator.__eq__() ignore domain_allowlist ordering.
Signed-off-by: ksg97031 <ksg97031@gmail.com>
2023-10-28 14:35:25 +02:00
Mariusz Felisiak cf57e220a9
Fixed isolation of DatabaseWrapperLoggingTests.test_commit_debug_log(). 2023-10-27 09:05:09 +02:00
Tom Carrick e67d3580ed Fixed #10941 -- Added {% query_string %} template tag. 2023-10-26 09:57:21 +02:00
sindre 64060d1c17 Fixed #34904 -- Prevented mutating sent emails from outbox in locmem email backend. 2023-10-25 08:52:31 +02:00
Mariusz Felisiak 311718feb5 Fixed #34923 -- Avoided initializing LEVEL_TAGS when importing django.contrib.messages.
Regression in b7fe36ad37.

Thanks James Gillard for the report.
2023-10-24 14:09:31 -03:00
ksg97031 d22ba07630 Fixed #34920 -- Made FileExtensionValidator.__eq__() ignore allowed_extensions ordering. 2023-10-24 05:31:11 +02:00
Nick Pope 171f91d9ef Fixed #34899 -- Added blank choice to forms' callable choices lazily. 2023-10-23 13:44:23 -03:00
Nick Pope 74afcee234 Refs #34899 -- Extracted Field.flatchoices to flatten_choices helper function.
Co-authored-by: Natalia Bidart <124304+nessita@users.noreply.github.com>
2023-10-23 13:44:23 -03:00
Nick Pope 07fa79ef2b Refs #31262 -- Added __eq__() and __getitem__() to BaseChoiceIterator.
This makes it easier to work with lazy iterators used for callables,
etc. when extracting items or comparing to lists, e.g. during testing.

Also added `BaseChoiceIterator.__iter__()` to make it clear that
subclasses must implement this and added `__all__` to the module.

Co-authored-by: Adam Johnson <me@adamj.eu>
Co-authored-by: Natalia Bidart <124304+nessita@users.noreply.github.com>
2023-10-23 13:44:16 -03:00
David Sanders b5311ee232 Fixed #34921 -- Fixed crash of warning for unbound naive datetimes. 2023-10-22 14:26:38 +02:00
laserhyena 21382e2743 Fixed #34911 -- Corrected HTML heading levels on admindocs' main page. 2023-10-20 05:44:55 +02:00
ontowhee 89d2ae257b
Fixed #34905 -- Corrected admin's main content element rendered in <main> tag.
Regression in 91e617c743.

Thanks Tom Carrick for the report.
2023-10-19 17:25:50 +02:00
Sarah Boyce 71a813a72c
Made SeleniumTests.test_select_multiple less flaky by improving Selenium waits. 2023-10-19 16:01:52 +02:00
Sarah Boyce be56c982c0 Refs #34043 -- Added --screenshots option to runtests.py and selenium tests. 2023-10-18 06:14:40 +02:00
Sarah Boyce f6629ee2c9 Refs #34043 -- Added context managers to SeleniumTestCase for changing window size. 2023-10-16 10:36:26 +02:00
Mariusz Felisiak 20b7aac7ca
Refs #34900, Refs #34118 -- Updated assertion in test_skip_class_unless_db_feature() test on Python 3.12.1+.
Python 3.12.1+ no longer includes skipped tests in the number of
running tests. Check out:

https://github.com/python/cpython/issues/110890#issuecomment-1763458686
https://github.com/python/cpython/pull/106588
2023-10-16 06:27:27 +02:00
Simon Charette 3b4a571275 Fixed #34798 -- Fixed QuerySet.aggregate() crash when referencing expressions containing subqueries.
Regression in 59bea9efd2,
complements e5c844d6f2.

Refs #28477, #34551.

Thanks Haldun Komsuoglu for the report.
2023-10-16 05:37:30 +02:00
Mariusz Felisiak 9fd3a0ffc8
Refs #34840 -- Fixed test_validate_nullable_textfield_with_isnull_true() on databases that don's support table check constraints.
Thanks Tim Graham for the report.
2023-10-12 20:01:44 +02:00
Mariana fc62e17778 Fixed #12241 -- Preserved query strings when using "Save and continue/add another" in admin.
Co-authored-by: Grady Yu <gradyy@users.noreply.github.com>
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
Co-authored-by: Matthew Newton <matthewn@berkeley.edu>
2023-10-11 11:00:25 +02:00
Mariusz Felisiak 6e369f36f2
Refs #34882 -- Fixed GISFunctionsTests.test_asgeojson_option_0() test on Oracle.
This uses an example with the same precision for all databases.

Follow up to 96e7a752b6.
2023-10-11 10:58:10 +02:00
Mariusz Felisiak 296b75a3c0
Fixed #34889 -- Fixed get_prefetch_queryset() fallback in prefetch_one_level().
Thanks Matt Westcott for the report.

Regression in cac94dd8aa.
2023-10-06 20:18:41 +02:00
Denis Rouzaud 96e7a752b6
Fixed #34882 -- Fixed no options in AsGeoJSON() for geometries in non-default CRS. 2023-10-06 05:25:32 +02:00
Simon Charette ea596a52d9
Refs #33482 -- Fixed QuerySet selecting and filtering againts Exists() with empty queryset.
Thanks Tobias Bengfort for the report.
2023-10-04 21:30:50 +02:00
pieterck 0989cf13e7 Fixed #34759 -- Confirmed support for SpatiaLite 5.1.
Thanks The Epic Dev for helping with tests.
2023-10-04 19:58:27 +02:00
Natalia 17b51094d7 Fixed CVE-2023-43665 -- Mitigated potential DoS in django.utils.text.Truncator when truncating HTML text.
Thanks Wenchao Li of Alibaba Group for the report.
2023-10-04 09:22:26 -03:00
Chinmoy Chakraborty 1dae65dc63 Fixed #34657 -- Made assert(Not)Contains/assertInHTML display haystacks in error messages. 2023-10-03 10:44:36 +02:00
Mariusz Felisiak 679212a47a
Refs #34657 -- Made msg_prefix handling in assertURLEqual()/assertInHTML consistent with other assertions.
Co-authored-by: Chinmoy Chakraborty <chinmoy12c@gmail.com>
2023-10-03 09:25:48 +02:00
Carlton Gibson 35bbb2c9c0 Fixed #34883 -- Allowed template tags to set extra data on templates.
By setting a value in the `parser.extra_data` mapping, template tags
pass additional data out of the parsing context.

Any extra data set is exposed on the template via the matching
`.extra_data` attribute.

Library authors should use a key to namespace extra data. The 'django'
namespace is reserved for internal use.
2023-10-02 16:16:43 +02:00
Chinmoy Chakraborty e99c7d8847 Refs #34657 -- Made assertInHTML() use unparsed needle in error messages. 2023-09-29 09:52:39 +02:00
Mariusz Felisiak 6ad0dbc8d9
Refs #15667 -- Added resetting default renderer when FORM_RENDERER is changed. 2023-09-29 08:54:13 +02:00
Dan Jacob fe835c2355 Fixed #34878 -- Fixed autoreloader crash when FORM_RENDERER is set to TemplatesSetting.
Regression in 439242c594.
2023-09-29 06:01:04 +02:00
Paolo Melchiorre e7e8eb44a3 Fixed #34877 -- Fixed migrations crash when adding GeneratedField with output_field with params. 2023-09-28 05:50:42 +02:00
Mariusz Felisiak f9e9526800
Fixed #34873 -- Added QuerySet.explain() support for GENERIC_PLAN option on PostgreSQL 16+. 2023-09-26 12:05:26 +02:00
lstaana 357365a64e Fixed #34835 -- Made admin's changelist filters render in <nav> tag. 2023-09-26 08:45:07 +02:00
David Sanders a5905b164d Fixed #34825 -- Avoided setting unused connections when initializing parallel workers. 2023-09-25 10:14:55 +02:00
David Sanders 4f2ae0644d Fixed #34849 -- Avoided raising RuntimeWarning about import-time queries when apps are reinitialized with test tools.
Regression in fbd16438f4.
2023-09-25 08:17:03 +02:00
Paolo Melchiorre 574ee4023e Fixed #34861 -- Fixed crash when adding GeneratedField with some expressions.
Co-authored-by: Simon Charette <charette.s@gmail.com>
2023-09-22 21:01:54 +02:00
Arian 51d703a27f Fixed #34823 -- Fixed assertTemplateUsed() context manager crash on unnamed templates. 2023-09-22 10:51:10 +02:00
toan 4de31ec680 Fixed #34858 -- Corrected resolving output_field for PositiveIntegerField.
Regression in 40b8a6174f.
2023-09-22 09:33:50 +02:00
Natalia d797243663 Fixed #34848 -- Ignored i18n_catalog.js file when building Django's translations catalog. 2023-09-22 08:20:08 +02:00
Tim Graham b0788a0918
Fixed JSONField's test_deep_distinct for DatabaseFeatures.nulls_order_largest=False.
Failure observed on CockroachDB.
2023-09-22 06:25:17 +02:00
Mariusz Felisiak 779cd28acb
Fixed #34840 -- Avoided casting string base fields on PostgreSQL.
Thanks Alex Vandiver for the report.

Regression in 09ffc5c121.
2023-09-22 06:01:11 +02:00
Mariusz Felisiak 2c6ebb65c9
Fixed #34851 -- Dropped support for PostgreSQL 12 and PostGIS 2.5. 2023-09-20 13:45:51 +02:00
Lily Foote 45078a204b Defined PASSWORD_HASHERS for auth_tests.test_views.ChangelistTests.
auth_tests.test_views.ChangelistTests.test_view_user_password_is_readonly
depends on the password hasher having the three components algorithm,
salt and hash.

The default password hasher (PBKDF2PasswordHasher) has an extra
iterations component, breaking the test.
2023-09-20 05:35:49 +02:00
Mariusz Felisiak 3623a0c079
Fixed #34850 -- Dropped support for MariaDB 10.4. 2023-09-19 15:06:05 +02:00
Mariusz Felisiak 8af3ae4ad9
Isolated test models for GeneratedFields.
Test regression in f333e3513e.
2023-09-19 08:09:03 +02:00
Mariusz Felisiak 0e560edf32 Increased the default PBKDF2 iterations for Django 5.1. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak caf87b4d42 Advanced deprecation warnings for Django 5.1. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak f72f420f17 Refs #26029 -- Removed DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings.
This also removes django.core.files.storage.get_storage_class().

Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 3a3e737694 Refs #33199 -- Removed support for passing positional arguments to Signer/TimestampSigner.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 5e4c1793b7 Refs #33308 -- Removed support for passing encoded JSON string literals to JSONField & co.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 69af3bea99 Refs #33990 -- Removed TransactionTestCase.assertQuerysetEqual() per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak c35fd9e275 Refs #33990 -- Removed SimpleTestCase.assertFormsetError() per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 7433237664 Refs #33924 -- Removed BaseGeometryWidget.map_height/map_width attributes per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 04eb1b4567 Refs #33872 -- Removed django.contrib.postgres.fields.CIText/CICharField/CIEmailField/CITextField.
Per deprecation timeline.
2023-09-18 22:12:40 +02:00
Mariusz Felisiak 6e4e5523a8 Refs #33691 -- Removed insecure password hashers per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 14ef92fa9e Refs #33864 -- Removed length_is template filter per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 2abf417c81 Refs #27236 -- Removed Meta.index_together per deprecation timeline. 2023-09-18 22:12:40 +02:00
Mariusz Felisiak 00e1879610 Refs #33764 -- Removed BaseUserManager.make_random_password() per deprecation timeline. 2023-09-18 22:12:40 +02:00
Clément Escolano cac94dd8aa Fixed #33651 -- Added support for prefetching GenericForeignKey.
Co-authored-by: revanthgss <revanthgss@almabase.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-18 13:23:21 +02:00
Ryanwalker277 225328efd9 Fixed #31558 -- Added support for boolean attribute on properties in ModelAdmin.list_display. 2023-09-16 20:54:26 +02:00
Paolo Melchiorre 2f1ab16be5 Fixed #34842 -- Fixed ModelAdmin.readonly_fields crash with GeneratedFields. 2023-09-16 20:13:02 +02:00
Sarah Abderemane 814e7bc220 Fixed #34832 -- Made admin's header content render in <header> tag.
Header tag was changed to <header> get the landmark banner for
accessibility.
2023-09-15 05:36:43 +02:00
Paolo Melchiorre 68d769e691 Fixed #34838 -- Corrected output_field of resolved columns for GeneratedFields.
Thanks Simon Charette for the implementation idea.
2023-09-14 21:17:12 +02:00
Lemuel Sta Ana 969ecb8236 Fixed #34834 -- Added role="search" to the admin changelist search form. 2023-09-14 20:35:48 +02:00
Natalia 691f70c477 Fixed #24561 -- Added support for callables on model fields' choices. 2023-09-14 10:15:33 -03:00
Sarah Abderemane 91e617c743 Fixed #34833 -- Made admin's main content render in <main> tag. 2023-09-14 05:41:31 +02:00
Nick Pope f92e68c30a Fixed #34822 -- Added support for serializing functions decorated with functools.lru_cache in migrations.
`@functools.cache` and `@functools.lru_cache` return an object of type
`functools._lru_cache_wrapper` which prevented the migrations serializer from
working. Simply using the existing `FunctionTypeSerializer` for this additional
type works as expected.
2023-09-13 15:57:18 -03:00
Nick Pope c131949e3e Refs #34822 -- Added tests for serializing decorated functions in migrations.
Functions decorated with a decorator that is properly wrapped, e.g. by
using `@functools.wraps`, are already supported.
2023-09-13 15:39:56 -03:00
Mariusz Felisiak 0e540fca13
Corrected logger in CsrfViewMiddlewareTestMixin.test_ensures_csrf_cookie_no_logging().
Logger was changed in 55fec16aaf.
2023-09-13 13:49:01 +02:00
Ben Lomax 74f7deec9e Refs #31949 -- Made make_middleware_decorator to work with async functions. 2023-09-13 11:41:01 +02:00
Ben Lomax 059cb0dbc9 Added more tests for decorators. 2023-09-13 10:16:01 +02:00
Nick Pope fe19b33e2f Modernized enumeration helpers on Python 3.11+.
- use @enum.property

https://docs.python.org/3/library/enum.html#enum.property

- use @enum.nonmember

Using @property on an enum class does not yield the expected result.
do_not_call_in_templates attribute works because a @property instance
is truthy. We can make this a literal True value as expected by using
@enum.nonmember in Python 3.11+.

https://docs.python.org/3/library/enum.html#enum.nonmember

- used enum.IntEnum/StrEnum

Python 3.11+ has ReprEnum which uses int.__str__() and str.__str__()
for __str__() in the `IntEnum` and `StrEnum` subclasses. We can emulate
that for Python < 3.11.

https://docs.python.org/3/library/enum.html#enum.ReprEnum
https://docs.python.org/3/library/enum.html#enum.IntEnum
https://docs.python.org/3/library/enum.html#enum.StrEnum
2023-09-13 08:30:21 +02:00
Nick Pope e15174983a Renamed ChoicesMeta to ChoicesType.
This also uses enum.EnumType for Python 3.11+ as Python 3.11 renamed
EnumMeta to EnumType. While the former is still available as an alias
of the latter for now, let's prefer the canonical name for this.

Check out https://docs.python.org/3/library/enum.html#enum.EnumType
2023-09-12 11:51:01 +02:00
Sam Toyer 64cea1e48f Fixed #34752 -- Fixed handling ASGI http.disconnect for streaming responses. 2023-09-11 19:53:21 +02:00
Mariusz Felisiak a7c73b944f
Fixed #34821 -- Prevented DEFAULT_FILE_STORAGE/STATICFILES_STORAGE settings from mutating the main STORAGES.
Regression in 6b965c6000.
2023-09-11 13:04:32 +02:00
donghao 938170008e Fixed #34824 -- Prevented unnecessary AlterField when ForeignObject.from_fields/to_fields is not a tuple. 2023-09-11 08:46:43 +02:00
Yves Weissig 369b498219 Fixed #34642 -- Added File.open() support for *args and **kwargs. 2023-09-11 06:07:47 +02:00
donghao 71820c9f91 Fixed #34820 -- Fixed migrations crash when changing a ForeignObject field. 2023-09-09 22:15:14 +02:00
Oguzhan Akan e41f9f9450
Fixed #34816 -- Fixed GenericForeignKey crash when checking cache for primary keys with different types. 2023-09-08 08:47:11 +02:00
Jacob Walls 1ab2cf7994 Fixed #34810 -- Measured test coverage on django-admin commands. 2023-09-07 15:47:26 -03:00
Maxime Toussaint 254df3a3bb Fixed #34791 -- Fixed incorrect Prefetch()'s cache for singly related objects.
Changed the cache name used for singly related objects to be the
to_attr parameter passed to a Prefetch object. This fixes issues with
checking if values have already been fetched in cases where the Field
already has some prefetched value, but not for the same model attr.
2023-09-07 12:56:08 +02:00
Jeremy Nauta f333e3513e Fixed #31300 -- Added GeneratedField model field.
Thanks Adam Johnson and Paolo Melchiorre for reviews.

Co-Authored-By: Lily Foote <code@lilyf.org>
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-07 06:19:08 +02:00
François Freitag cafe7266ee Fixed #34730 -- Added django.contrib.messages.test.MessagesTestMixin.assertMessages(). 2023-09-05 11:55:37 +02:00
Jacob Walls 6c6606aa01 Refs #34233 -- Bumped minimum supported version of docutils to 0.19. 2023-09-04 22:30:45 +02:00
Mariusz Felisiak 3f41d6d629 Fixed CVE-2023-41164 -- Fixed potential DoS in django.utils.encoding.uri_to_iri().
Thanks MProgrammer (https://hackerone.com/mprogrammer) for the report.

Co-authored-by: nessita <124304+nessita@users.noreply.github.com>
2023-09-04 11:58:37 +02:00
Jacob Walls bcd80de8b5 Fixed #34778 -- Avoided importing modules in startapp/startproject. 2023-09-01 13:24:05 +02:00
Sulabh Katila 9a9620dda6 Fixed #34768 -- Avoided initializing colorama on non-Windows platforms. 2023-09-01 11:26:29 +02:00
willzhao 9cc0d7f7f8 Fixed #34803 -- Fixed queryset crash when filtering againts deeply nested OuterRef annotations.
Thanks Pierre-Nicolas Rigal for the report.

Regression in c67ea79aa9.
2023-09-01 10:44:20 +02:00
Mariusz Felisiak c74a6fad54
Refs #32355 -- Removed unnecessary getattr() call.
options.test_name_patterns is always defined.

Follow up to ec0ff40631.
2023-08-31 10:27:32 +02:00
Bruno Alla 4c4536f744 Refs #34712 -- Added system check for staticfiles storage in STORAGES setting.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: Natalia Bidart <124304+nessita@users.noreply.github.com>
2023-08-31 08:21:44 +02:00
David Smith 74b5074174 Fixed #34210 -- Added unittest's durations option to the test runner. 2023-08-31 07:14:58 +02:00
David Smith 27b399d235 Fixed #34547 -- Deprecated DatabaseOperations.field_cast_sql(). 2023-08-31 06:18:07 +02:00
Nick Pope 500e01073a
Fixed #31262 -- Added support for mappings on model fields and ChoiceField's choices. 2023-08-30 22:57:40 -03:00
John Whitman 68a8996bdf Fixed #34799 -- Made MySQL introspection skip cross-database relations. 2023-08-30 12:46:15 +02:00
Olivier Tabone 3f8dbe267d Fixed #34757 -- Added support for following redirects to AsyncClient. 2023-08-30 06:12:25 +02:00
sarahboyce f6ed2c36dd Fixed #34787 -- Fixed autoreloader crash when run from installed script on Windows. 2023-08-28 12:57:14 +02:00
Mariusz Felisiak 11920e7795
Fixed #34709 -- Raised BadRequest for non-UTF-8 requests with the application/x-www-form-urlencoded content type.
Thanks Eki Xu for the report.
2023-08-25 21:27:22 +02:00
François Freitag b7fe36ad37 Refs #34730 -- Made Message importable from django.contrib.messages. 2023-08-25 06:55:12 +02:00
François Freitag 7bba231b67 Refs #24121 -- Added __repr__() to Message. 2023-08-24 11:06:13 +02:00
David Sanders 76c3e310dd Fixed #34744 -- Prevented recreation of migration for constraints with a dict_keys.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-08-23 11:42:18 +02:00
Mariusz Felisiak dd45d5223b
Fixed ResourceWarning from unclosed SQLite connection on Python 3.13+.
- backends.sqlite.tests.ThreadSharing.test_database_sharing_in_threads
- backends.tests.ThreadTests.test_default_connection_thread_local:
    on SQLite, close() doesn't explicitly close in-memory connections.
- servers.tests.LiveServerInMemoryDatabaseLockTest
- test_runner.tests.SQLiteInMemoryTestDbs.test_transaction_support

Check out https://github.com/python/cpython/pull/108015.
2023-08-23 09:09:23 +02:00
konsti 48a1929ca0
Removed unnecessary trailing commas in tests. 2023-08-22 12:42:57 +02:00
Natalia f1c0a3baf7 Added tests for model field's choices iterator/iterable values. 2023-08-22 05:55:23 +02:00
Florian Zimmermann fbd16438f4 Fixed #33143 -- Raised RuntimeWarning when performing import-time queries. 2023-08-21 13:44:25 +02:00
Mariusz Felisiak 4c85d94bc0
Fixed utils_tests.test_lazyobject.SimpleLazyObjectPickleTestCase.
SimpleLazyObjectPickleTestCase executes database queries so it must
inherit from django.test.TestCase.
2023-08-20 16:09:07 +02:00
Juan Alvarez 517d3bb4dd Fixed #34779 -- Avoided unnecessary selection of non-nullable m2m fields without natural keys during serialization.
By using `select_related(None)` instead of `select_related()`, the
unnecessary joins are completely avoided. Note that the current tests
already covers the change, when the field is not `null=True`.

Regression in f9936deed1.
2023-08-19 10:29:43 +02:00
Mariusz Felisiak 6b965c6000
Fixed #34773 -- Fixed syncing DEFAULT_FILE_STORAGE/STATICFILES_STORAGE settings with STORAGES.
Thanks Petr Dlouhý for the report.

Bug in 32940d390a.
2023-08-18 18:11:24 +02:00
Francesco Panico 59f4754704 Fixed #34362 -- Fixed FilteredRelation() crash on conditional expressions.
Thanks zhu for the report and Simon Charette for reviews.
2023-08-11 12:32:18 +02:00
Francesco Panico 1506f498fe Fixed #34743 -- Fixed Meta.constraints validation crash when using pk.
Thanks Nwawel A Iroume for the report.
2023-08-11 08:51:29 +02:00
Jingbei Li 9946f0b0d9 Fixed #33817 -- Added support for python-oracledb and deprecated cx_Oracle. 2023-08-10 10:11:53 +02:00
Mariusz Felisiak e69a9920e2
Fixed non-deterministic order in SubqueryTests.test_slice_subquery_and_query.
Slice on unordered subquery may be non-deterministic in some databases.
2023-08-10 05:33:13 +02:00
Mariusz Felisiak 80a5667c50
Refs #34233 -- Bumped required cx_Oracle to 8.3.
This bumps minimum supported versions of cx_Oracle to the first release
to support Python 3.10.
2023-08-09 12:41:47 +02:00
priyank.panchal 439242c594 Fixed #34692 -- Made autoreloader reset cached template loader for default renderer. 2023-08-09 09:09:52 +02:00
Mariana e02fc58889 Fixed #34586 -- Made QuerySet.create() raise ValueError for reverse one-to-many relations. 2023-08-09 06:59:40 +02:00
Nick Pope aa3cb3f372 Added IntegerField tests for checks for invalid choices. 2023-08-08 18:57:15 +02:00
Mateusz Więckowski 5aa4c0b675 Fixed #34542 -- Made createsuperuser handle required blank fields in non-interactive mode. 2023-08-08 09:26:28 +02:00
Olivier Tabone 0f3b1a783d Fixed #34739 -- Added GEOSGeometry.equals_identical() method. 2023-08-05 18:23:38 +02:00
Mariusz Felisiak 0336aa6672
Fixed TransactionalTests.test_password_with_at_sign() isolation on Oracle. 2023-08-04 17:36:04 +02:00
Simon Charette 3434dbd39d Fixed #34754 -- Fixed JSONField check constraints validation on NULL values.
The __isnull lookup of JSONField must special case
Value(None, JSONField()) left-hand-side in order to be coherent with
its convoluted null handling.

Since psycopg>=3 offers no way to pass a NULL::jsonb the issue is
resolved by optimizing IsNull(Value(None), True | False) to
True | False.

Regression in 5c23d9f0c3.

Thanks Alexandre Collet for the report.
2023-08-04 10:14:03 +02:00
Mariusz Felisiak 2b582387d5
Fixed #34760 -- Dropped support for SQLite < 3.27. 2023-08-04 06:35:13 +02:00
Olivier Tabone f46a6b2816 Fixed #34686 -- Added support for GEOS 3.12. 2023-08-04 05:53:29 +02:00
Mariusz Felisiak b719688b21
Fixed #34761 -- Dropped support for MySQL < 8.0.11. 2023-08-03 18:54:29 +02:00
Mariusz Felisiak 9b9c805ced
Removed unneeded escapes in regexes.
Special characters lose their special meaning inside sets of characters.

"-" lose its special meaning if it's placed as the first or last
character.

Follow up to 7c6b66383d.
2023-08-02 19:53:16 +02:00
Nick Pope c77fbda7ce Added more tests for django.http.request.split_domain_port(). 2023-08-02 13:06:23 +02:00
Mariusz Felisiak c9b9a52edc
Fixed #34750 -- Fixed QuerySet.count() when grouping by unused multi-valued annotations.
Thanks Toan Vuong for the report.
Thanks Simon Charette for the review.

Regression in 59bea9efd2.
2023-08-01 16:16:28 +02:00
Gregor Jerše 10725a3187 Fixed #32820 -- Added aria-invalid="true" to fields with errors.
Co-authored-by: Demetris Stavrou <demestav@gmail.com>
Co-authored-by: David Smith <smithdc@gmail.com>
2023-08-01 06:08:04 +02:00
John Parton fff14736f1 Fixed #34331 -- Added QuerySet.aiterator() support for prefetch_related(). 2023-07-31 21:17:36 +02:00
nessita 1ad7761ee6
Refs #34655 -- Made cosmetic edits to RadioSelect tests.
Follow up to f9c5958b8f.
2023-07-31 20:17:10 +02:00
Mariusz Felisiak 22b0b73c77
Fixed warnings per flake8 6.1.0. 2023-07-30 16:17:07 +02:00
Simon Charette 4087367ba8 Fixed #34748 -- Fixed queryset crash when grouping by a reference in a subquery.
Regression in dd68af62b2.

Thanks Toan Vuong for the report.
2023-07-29 16:08:20 +02:00
Jakub Bagiński f9c5958b8f
Fixed #34655 -- Increased radioselect's test coverage. 2023-07-28 09:18:07 -03:00
Nick Pope 89c8c2e831 Simplified call_command() calls. 2023-07-27 15:48:47 +02:00
Christopher Cave-Ayland 95e4d6b813 Fixed #34532 -- Made formset_factory() respect Form's default_renderer.
Co-authored-by: David Smith <smithdc@gmail.com>
2023-07-24 09:09:53 +02:00
Olivier Tabone b9473cac65 Fixed #34714 -- Added aget_object_or_404()/aget_list_or_404() shortcuts. 2023-07-24 07:37:54 +02:00
devilsautumn f05cc5e3d2 Refs #24686 -- Made AlterField operation a noop when renaming related model with db_table. 2023-07-22 20:13:42 +02:00
Michel Alexandre Salim 62b83889e0
Fixed #34731, Refs #34118 -- Replaced assertEquals() with assertEqual() in test_condition_with_func_and_lookup_outside_relation_name().
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
2023-07-21 21:18:24 +02:00
Francesco Panico e4a5527d1d Refs #29789 -- Added more tests for FilteredRelation with condition outside of relation name. 2023-07-21 12:03:42 +02:00
Simon Charette d7d80040c1 Made UniqueConstraint raise TypeError for type violations. 2023-07-19 21:46:20 +02:00
Simon Charette 595a2abb58 Fixed #34701 -- Added support for NULLS [NOT] DISTINCT on PostgreSQL 15+. 2023-07-19 21:42:27 +02:00
Simon Charette 68912e4f6f Fixed #34717 -- Fixed QuerySet.aggregate() crash when referencing window functions.
Regression in 59bea9efd2.

Refs #28477.

Thanks younes-chaoui for the report.
2023-07-19 08:21:33 +02:00
Mariusz Felisiak 3109038992
Refs #33201 -- Avoided unnecessary queries when renaming models with db_table on SpatiaLite. 2023-07-18 14:08:47 +02:00
Nicolò Intrieri e8252fc445
Fixed #34716 -- Fixed serialization of nested class methods in migrations.
Co-authored-by: Nicolò <nicolo.intrieri@spinforward.it>
2023-07-18 05:27:40 +02:00
Mariusz Felisiak da2f8e8257
Refs #34118 -- Improved sanitize_address() error message for tuple with empty strings. 2023-07-17 11:03:36 +02:00
David Smith 1d0dfc0b92 Refs #30686 -- Moved Parser.SELF_CLOSING_TAGS to django.utils.html.VOID_ELEMENTS 2023-07-14 10:25:00 +02:00
Tushar 88a2de3c39 Fixed #34448 -- Doc'd and tested --no-obsolete option of makemessages.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-07-14 08:47:30 +02:00
Yury V. Zaytsev 02966a30dd Fixed #34697 -- Fixed non-deterministic order of dependencies and sets/frozensets in migrations.
Co-authored-by: Dakota Hawkins <dakotahawkins@gmail.com>
2023-07-12 12:33:23 +02:00
Mariusz Felisiak 4afaeb14c2
Refs #30116 -- Simplified tests related with dictionary order.
Dicts preserve order since Python 3.6.
2023-07-12 11:06:59 +02:00
Sage Abdullah 3f73df44f2 Fixed #34705 -- Reallowed BoundField.as_widget()'s attrs argument to set aria-describedby.
Regression in 966ecdd482.
2023-07-12 05:43:41 +02:00
Amir Karimi d1855c4847 Fixed #34691 -- Added system check for unmatched angle brackets in path(). 2023-07-11 11:59:27 +02:00
Mariusz Felisiak c7276a9cb9
Refs #34695 -- Added tests for check for CSRF_FAILURE_VIEW signature with valid class-based view. 2023-07-11 10:46:34 +02:00
Thomas Chaumeny 89c7454dbd Fixed #34698 -- Made QuerySet.bulk_create() retrieve primary keys when updating conflicts. 2023-07-10 13:17:28 +02:00
Ben Lomax b7a17b0ea0 Refs #31949 -- Made @vary_on_(cookie/headers) decorators work with async functions. 2023-07-10 11:43:36 +02:00
Cauê Thenório f7cfa48283 Fixed #34696 -- Updated selection counter in admin changelist on Chrome. 2023-07-10 10:09:07 +02:00
Ben Lomax 953f81e078 Refs #31949 -- Made @csrf_exempt decorator to work with async functions. 2023-07-10 07:55:02 +02:00
Andrew Northall 6d427288e4 Fixed #34688 -- Removed contrib.sitemaps.ping_google() and ping_google management command.
Thanks Joachim Jablon for the report.

Google has deprecated the sitemap ping endpoint, and will be removing
it in 6 months ~January 2024.
2023-07-10 05:59:35 +02:00
Mariusz Felisiak 2584783f46
Refs #9602 -- Moved AlreadyRegistered/NotRegistered exceptions to django.contrib.admin.exceptions. 2023-07-07 13:22:06 +02:00
Neeraj Kumar eed096574f Fixed #32210 -- Fixed model inlines with to_field that has a default. 2023-07-07 09:11:46 +02:00
Neeraj Kumar b91d62cca0 Refs #24377 -- Added assertions for model inlines with primary key that has a default.
This ensures that a model field default is ignored.
2023-07-07 08:18:31 +02:00
Mariusz Felisiak f64fd47a76
Fixed #9602 -- Added AdminSite.get_model_admin().
This allows retrieving an admin class for the given model class without
using internal attributes.
2023-07-07 08:06:01 +02:00
Simon Charette d569c1dcfe Fixed #34639 -- Reverted "Fixed #32682 -- Made admin changelist use Exists() instead of distinct() for preventing duplicates."
This reverts commit 1871182031 which
moved to using Exists() instead due to an overly strict
distinct().delete() check added in #32433.
2023-07-07 07:08:28 +02:00
Simon Charette 28e2077148 Refs #32433 -- Reallowed calling QuerySet.delete() after distinct().
While values(*field_excluding_pk).distinct() and
distinct(*field_excluding_pk) can reduce the number of resulting rows
in a way that makes subsequent delete() calls ambiguous standalone
.distinct() calls cannot.

Since delete() already disallows chain usages with values() the only
case that needs to be handled, as originally reported, is when
DISTINCT ON is used via distinct(*fields).

Refs #32682 which had to resort to subqueries to prevent duplicates in
the admin and caused significant performance regressions on MySQL
(refs #34639).

This partly reverts 6307c3f1a1.
2023-07-07 07:08:28 +02:00
Mariusz Felisiak 95cdf9dc66
Used AdminSite.is_registered() where appropriate. 2023-07-06 11:29:16 +02:00
Gregor Jerše 966ecdd482 Fixed #32819 -- Established relationship between form fields and their help text.
Thanks Nimra for the initial patch.

Thanks Natalia Bidart, Thibaud Colas, David Smith, and Mariusz Felisiak
for reviews.
2023-07-06 08:03:19 +02:00
sarahboyce 649262a406 Made some Selenium tests less flaky by adding explicit wait. 2023-07-05 09:45:50 +02:00
Mariusz Felisiak 42b4f81e6e Fixed isolation of SeleniumTests.test_search_input_filtered_page() test.
Test crashed when the sidebar was not closed.
2023-07-04 13:34:08 +02:00
Sarah Boyce 968684aed4 Made SeleniumTests.test_updating_related_objects_updates_fk_selects_except_autocompletes() test less flaky by adding explicit Selenium wait. 2023-07-04 13:34:08 +02:00
davidolz 075e9c0a4d Fixed typo in tests/admin_docs/models.py. 2023-07-03 10:47:41 +02:00
Mariusz Felisiak ad0410ec4f Fixed CVE-2023-36053 -- Prevented potential ReDoS in EmailValidator and URLValidator.
Thanks Seokchan Yoon for reports.
2023-07-03 08:16:55 +02:00
Mariusz Felisiak 7eeadc82c2
Fixed RelatedGeoModelTest.test_centroid_collect_filter(). 2023-06-30 10:18:04 +02:00
sobolevn 5820fc4485 Fixed #34687 -- Made Apps.clear_cache() clear get_swappable_settings_name() cache. 2023-06-30 08:27:15 +02:00
Mariusz Felisiak 953f29f700
Fixed #34572 -- Added support for GDAL 3.7.
Co-authored-by: Michael Howitz <mh@gocept.com>
2023-06-30 06:03:08 +02:00
Akash Kumar Sen a40b0103bc Fixed #30382 -- Allowed specifying parent classes in force_insert of Model.save(). 2023-06-29 21:52:52 +02:00
Mariusz Felisiak 601ffb0da3
Fixed #34685 -- Dropped support for GEOS 3.6 and 3.7. 2023-06-29 21:45:36 +02:00
Akash Kumar Sen ce204bed7f Refs #30382 -- Added more tests for using force_insert with model inheritance. 2023-06-29 11:49:32 +02:00
Mariusz Felisiak 6a523500af
Fixed #34684 -- Dropped support for GDAL 2.2 and 2.3. 2023-06-29 09:11:30 +02:00
Mariusz Felisiak 21e6864715
Fixed RecorderTests.test_has_table_cached() on databases that perform multiple queries when introspecting tables.
Thanks Tim Graham for the report and implementation idea.

Follow up to ea8cbca579.
2023-06-28 12:11:25 +02:00
Mariusz Felisiak a6d30f5012
Fixed #34671 -- Fixed collation introspection for views and materialized views on Oracle.
Thanks Philipp Maino for the report.
2023-06-27 13:50:42 +02:00
Jon Janzen 5e98959d92 Fixed #34391 -- Added async-compatible interface to auth functions and related methods test clients. 2023-06-27 11:17:17 +02:00
Mariusz Felisiak 370a021780
Refs #34233 -- Bumped minimum supported version of Selenium to 4.8.0.
This bumps minimum supported versions of selenium to the first release
to support Python 3.10.
2023-06-26 14:22:54 +02:00
th3nn3ss 3152f9de47 Refs #31949 -- Made http decorators to work with async functions. 2023-06-26 09:29:04 +02:00
th3nn3ss cd4c4c1905 Added more tests for http decorators. 2023-06-26 09:29:04 +02:00
Mariusz Felisiak 865a6650d0 Moved http decorator tests into decorators/test_http.py. 2023-06-26 09:29:01 +02:00
Andrew Northall 38cde27a89 Fixed #34676 -- Normalized Distance()/Area() exceptions for nonexistent units. 2023-06-25 13:09:30 +02:00
Mariusz Felisiak 650ce96782
Refs #34391 -- Updated asgiref dependency for 5.0 release series. 2023-06-23 21:52:04 +02:00
Jon Janzen 38e391e95f Refs #31949 -- Made @sensitive_variables/sensitive_post_parameters decorators to work with async functions.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-06-23 13:29:40 +02:00
Nick Pope f8092ee9ad Improved style of n-tuple wording in docs and comments. 2023-06-23 09:29:35 +02:00
Hrushikesh 107865780a Fixed #34345 -- Added system check for ManyToManyFields with intermediate tables in ModelAdmin.filter_horizontal/vertical. 2023-06-21 07:48:09 +02:00
Akash Kumar Sen 1754c2c802 Refs #34634 -- Fixed creating diamond-shaped MTI objects with ancestors inherited from different paths.
Co-authored-by: Simon Charette <charette.s@gmail.com>
2023-06-20 08:40:35 +02:00
Akash Kumar Sen 82a588a6bc Fixed #34634 -- Adjusted system check for clashing fields to warn about links to common parent for MTI models. 2023-06-20 08:10:53 +02:00
Yaser Amiri 3f1bc2222f Fixed #34656 -- Fixed unclosed div in admin password change template.
Regression in 6991880109.
2023-06-19 08:22:10 +02:00
François Freitag bcacc6321a Refs #34517 -- Restored skipping ImageFileField.update_dimension_fields without width/height fields.
This avoids reading the image size when the dimensions fields
(image_width, image_height) do not exist, as that operation may be
expensive.

Partially reverts ea53e7c09f, that dropped
the check for the dimension fields in update_dimension_fields(), because
the post_init signal was no longer registered without dimension fields.

However, another code path to that function exists: when the
ImageFileField is save()d, the name from the storage is setattr()ed on
the field, and ImageFileDescriptor calls update_dimension_fields()
because the image size might have changed. Keep bailing out early when
dimensions are unused.

Besides, computing the image dimensions causes to close() the file,
resulting in a backward-incompatible change. The test protects against
that change.
2023-06-19 05:24:42 +02:00
şuayip üzülmez 0c5146523b Fixed #34662 -- Corrected number in error messages for Array(Min/Max)LengthValidator. 2023-06-18 14:32:51 +02:00
sarahboyce 8b062eab8e Made SeleniumTests.test_inline_uuid_pk_add_with_popup less flaky by waiting until popup is closed. 2023-06-18 08:37:19 +02:00
Olivier Le Thanh Duong 1b754d638d Fixed #34629 -- Added filtering support to GIS aggregates. 2023-06-16 12:20:13 +02:00
Jacob Rief 1fe0b167af Fixed #34473 -- Fixed step validation for form fields with non-zero minimum value. 2023-06-16 08:38:28 +02:00
Akash Kumar Sen 5d20e02078 Fixed #33414 -- Fixed creating diamond-shaped MTI objects for common ancestor with primary key that has a default.
Co-authored-by: Simon Charette <charette.s@gmail.com>
2023-06-15 08:16:11 +02:00
Simon Charette 1c4f5f314e Refs #32143 -- Removed superflous constraints on excluded query.
The outer query reference is not necessary when alias can be reused and
can even be harmful by confusing query planers.

Refs #34597.
2023-06-14 09:44:49 +02:00
David Smith 0cfcab4eec
Fixed date_time_picker_shortcuts() tests on Windows.
Windows does not allow overriding TIME_ZONE as time.tzset() is only
available on Unix.
2023-06-14 08:01:14 +02:00
Mariusz Felisiak 06881341d4
Refs #30220 -- Bumped required version of Selenium to 3.8.0.
Follow up to 8d010f3986.
2023-06-13 10:12:52 +02:00
sarahboyce decbfa834f Made SeleniumTests.test_select_multiple less flaky by adding explicit Selenium wait. 2023-06-13 08:26:34 +02:00
Nina Menezes 1699f8b52a Fixed #34628 -- Improved icons accessibility of related widget wrapper in admin.
This improves accessibility of icons by making them larger and grayscale
(when not selected).
2023-06-12 08:31:28 +02:00
Nick Pope e042024b28 Allowed custom formatting of lazy() objects.
This allows for formatting of lazy objects which have a custom formatter
defined by overriding the default implementation from `object`.
2023-06-12 06:09:20 +02:00
Nick Pope fd97b0471b Allowed multiplication of lazy() objects with int return type. 2023-06-12 05:59:40 +02:00
Ran Benita ae94077e7d Made proxy class in lazy() prepare eagerly.
Previously, the proxy class was prepared lazily:

  lazy_identity = lazy(identity, int)
  lazy_identity(10)  # prepared here
  lazy_identity(10)

This has a slight advantage that if the lazy doesn't end up getting
used, the preparation work is skipped, however that's not very likely.

Besides this laziness, it is also inconsistent in that the methods which
are wrapped directly (__str__ etc.) are prepared already when __proxy__
is defined, and there is a weird half-initialized state.

This change it so that everything is prepared already on the first line
of the example above.
2023-06-12 05:45:44 +02:00
Nick Pope e0e0204477 Added more tests for django.utils.functional.lazy(). 2023-06-12 05:29:30 +02:00
XDEv11 221c27bd6a
Added tests for HttpResponseBase.charset/reason_phrase setters. 2023-06-10 20:43:05 +02:00
Mariusz Felisiak caf80cb41f
Fixed #34645 -- Restored alignment for admin date/time timezone warnings.
Regression in 96a598356a.
2023-06-09 21:37:23 +02:00
Anders Kaseorg b81e974e9e Fixed #34604 -- Corrected fallback SQL for n-ary logical XOR.
An n-ary logical XOR Q(…) ^ Q(…) ^ … ^ Q(…) should evaluate to true
when an odd number of its operands evaluate to true, not when exactly
one operand evaluates to true.
2023-06-08 20:41:18 +02:00
Ran Benita a57d5d9bbc Made bytes and str return types no longer mutually exclusive in lazy().
They are no longer special cased.
2023-06-08 09:15:40 +02:00
Ran Benita f5817c24f4 Refs #34445 -- Fixed string-casting of non-string lazy objects when value may be bytes.
If the result type is bytes, then calling bytes() on it does nothing.

If the result type is not bytes, we should not cast to bytes, just
because the return value may be bytes.
2023-06-08 06:38:11 +02:00
benebsiny 7cc138a58f Added MultiPartParser tests for parsing base64-encoded fields. 2023-06-07 05:44:27 +02:00
devilsautumn 094b0bea2c Fixed #34609 -- Deprecated calling format_html() without arguments. 2023-06-06 14:14:57 +02:00
Mariusz Felisiak 4f6a51dfe6
Fixed lookup.tests.LookupTests.test_exclude() on PostgreSQL 16 beta 1.
Order doesn't matter for this test, and on PostgreSQL 16 "%" is ordered
before "_", so switch to sort by "pub_date".
2023-06-06 11:38:23 +02:00
Mariusz Felisiak 40a2c811e3
Refs #26706, Refs #34633 -- Added test for prefetch_related() cache invalidation in ManyRelatedManager.create(). 2023-06-06 07:33:59 +02:00
Coen van der Kamp 10d9d0ccb2 Fixed #34622 -- Improved accessibility of related widget wrapper in admin.
This improves accessibility for screen reader users by adding
"aria-disabled" and removing "alt".

Thanks Thibaud Colas for the report.
2023-06-05 14:43:51 +02:00
Howard Cox cd413bd78a Fixed #34621 -- Made admin site header render in <div> tag.
This was problematic for screen reader users because they use headings
to navigate. Having two <h1> is confusing, and the one in the header
wasn’t particularly helpful since it’s the same on all pages.
2023-06-05 11:55:06 +02:00
nessita 89c27d8672
Fixed #34601 -- Added field name to check message for ModelAdmin.readonly_fields.
Co-authored-by: Rick van Hattem <wolph@wol.ph>
2023-06-05 05:56:53 +02:00
Mariusz Felisiak f9936deed1
Fixed #34620 -- Fixed serialization crash on m2m fields without natural keys when base querysets use select_related().
Regression in 19e0587ee5.

Thanks Martin Svoboda for the report.
2023-06-04 20:49:07 +02:00
Nina Menezes 27fed08e5f
Fixed #34618 -- Added icon descriptions in "Recent Actions" on the admin index. 2023-06-02 12:32:18 +02:00
Simon Charette 2cf76f2d5d Fixed #34612 -- Fixed QuerySet.only() crash on reverse relationships.
Regression in b3db6c8dcb.

Thanks Ian Cubitt for the report.

This also corrected test_inheritance_deferred2() test which was
previously properly defined and marked as an expected failure but was
then wrongly adjusted to mask the lack of support for per-alias
deferral that was fixed by #21204.
2023-06-01 19:50:47 +01:00
Simon Charette d9e7018796 Refs #34570 -- Added extra tests for QuerySet.only() noops. 2023-06-01 19:49:26 +01:00
Cheuk Ting Ho 65da6b2ae4
Fixed #34617 -- Enabled user zooming on mobile devices in the admin. 2023-06-01 13:37:25 +01:00
Kacper Wolkiewicz 91be6e1818
Fixed #34606 -- Fixed Right() function with zero length on Oracle and SQLite. 2023-05-31 11:57:40 +01:00
Tom Forbes ea8cbca579 Made MigrationRecorder cache has_table() result if django_migrations table exists. 2023-05-25 13:18:02 +02:00
David Sanders 0c1518ee42
Fixed #34590 -- Reverted "Refs #33308 -- Improved adapting DecimalField values to decimal."
This reverts 7990d254b0.

Thanks Marc Odermatt for the report.
2023-05-24 10:59:55 +02:00
minusf 8b053c1e3c
Fixed #34592 -- Removed Safari/Chrome workaround for system fonts. 2023-05-24 10:26:25 +02:00
Mariusz Felisiak fc9c90d9c4
Refs #34118 -- Fixed FunctionalTests.test_cached_property_reuse_different_names() on Python 3.12+.
Python 3.12+ no longer wraps exceptions in __set_name__, see
55c99d97e1
2023-05-23 12:56:33 +02:00
Ben Lomax 23abec9192 Refs #31949 -- Made @no_append_slash decorator to work with async functions. 2023-05-23 10:04:41 +02:00
Simon Charette e5c844d6f2 Fixed #34551 -- Fixed QuerySet.aggregate() crash when referencing subqueries.
Regression in 59bea9efd2.

Refs #28477.

Thanks Denis Roldán and Mariusz for the test.
2023-05-23 06:25:58 +02:00
Simon Charette 2ee01747c3 Refs #34551 -- Fixed QuerySet.aggregate() crash on precending aggregation reference.
Regression in 1297c0d0d7.

Refs #31679.
2023-05-23 06:25:27 +02:00
Andrii Kohut f8172f45fc Fixed #34587 -- Allowed customizing table name normalization in inspectdb command. 2023-05-22 16:48:06 +02:00
Arthur Moreira 061a8a1bd8 Fixed #34577 -- Added escapeseq template filter. 2023-05-22 09:58:03 +02:00
Ben Lomax 00f5d2d110 Refs #31949 -- Made @xframe_options_(deny/sameorigin/exempt) decorators to work with async functions. 2023-05-20 15:52:00 +02:00
Ben Lomax b43936f2ec Moved clickjacking decorator tests into decorators/test_clickjacking.py.
This also adds extra assertions.
2023-05-20 15:23:52 +02:00
rajeeshp a2da81fe08 Fixed #34578 -- Made "join" template filter respect autoescape for joiner. 2023-05-19 13:16:42 +02:00
HappyDingning 674c23999c Fixed #34565 -- Added support for async checking of user passwords. 2023-05-18 09:39:04 +02:00
Carlton Gibson 4a5753fb0a
Refs #32339 -- Fixed super() call in deprecated renderers.
Missing function call `()` leads to:

TypeError: descriptor '__init__' of 'super' object needs an argument

Regression in b209518089.
2023-05-17 11:11:43 -03:00
Mariusz Felisiak c52f4295f2
Fixed #34568 -- Made makemigrations --update respect --name option.
Thanks David Sanders for the report.
2023-05-17 13:14:43 +02:00
Simon Charette 99e5dff737 Fixed #34570 -- Silenced noop deferral of many-to-many and GFK.
While deferring many-to-many and GFK has no effect, the previous
implementation of QuerySet.defer() ignore them instead of crashing.

Regression in b3db6c8dcb.

Thanks Paco Martínez for the report.
2023-05-17 08:06:11 +02:00
Julie Rymer 0ec60661e6 Fixed #34539 -- Restored get_prep_value() call when adapting JSONFields.
Regression in 5c23d9f0c3.
2023-05-16 08:26:41 +02:00
Ian Foote 7414704e88 Fixed #470 -- Added support for database defaults on fields.
Special thanks to Hannes Ljungberg for finding multiple implementation
gaps.

Thanks also to Simon Charette, Adam Johnson, and Mariusz Felisiak for
reviews.
2023-05-12 19:11:40 +02:00
Mariusz Felisiak 72a86ceb33
Fixed #34558 -- Fixed QuerySet.bulk_create() crash with Now() on Oracle. 2023-05-11 18:22:55 +02:00
Simon Charette ffff17d4b0 Fixed #34553 -- Fixed improper % escaping of literal in constraints.
Proper escaping of % in string literals used when defining constaints
was attempted (a8b3f96f6) by overriding quote_value of Postgres and
Oracle schema editor. The same approach was used when adding support for
constraints to the MySQL/MariaDB backend (1fc2c70).

Later on it was discovered that this approach was not appropriate and
that a preferable one was to pass params=None when executing the
constraint creation DDL to avoid any form of interpolation in the first
place (42e8cf47).

When the second patch was applied the corrective of the first were not
removed which caused % literals to be unnecessary doubled. This flew
under the radar because the existings test were crafted in a way that
consecutive %% didn't catch regressions.

This commit introduces an extra test for __exact lookups which
highlights more adequately % doubling problems but also adjust a
previous __endswith test to cover % doubling problems (%\% -> %%\%%).

Thanks Thomas Kolar for the report.

Refs #32369, #30408, #30593.
2023-05-10 17:25:57 +02:00
Simon Charette e0f8104a96 Refs #34553 -- Split constraint escaping test in subtests.
This ensures that constraint violations are tested in isolation from
each other as an IntegrityError only ensures a least one constraint is
violated.

For example, the assertion added in 42e8cf4 break both the
name_constraint_rhs and the rebate_constraint constraints and thus
doesn't constitute a proper regression test. Refs #32369.
2023-05-10 17:25:57 +02:00
Mariusz Felisiak 6e32d1fa1d
Fixed #34554 -- Fixed Reverse(Value(…)) crash on Oracle. 2023-05-10 17:22:45 +02:00
Akash Kumar Sen 92f0017133 Refs #34534 -- Reduced Add/RemoveConstraint and Add/RenameIndex operations when optimizing migrations. 2023-05-09 12:45:09 +02:00
Mariusz Felisiak 1586a09b79
Fixed #34544 -- Avoided DBMS_LOB.SUBSTR() wrapping with IS NULL condition on Oracle.
Regression in 09ffc5c121.

Thanks Michael Smith for the report.

This also reverts commit 1e4da43955.
2023-05-08 19:34:30 +02:00
Mariusz Felisiak fcfbf08abe
Fixed MultipleFileFieldTest.test_file_multiple_validation() test if Pillow isn't installed.
Follow up to fb4c55d9ec.
2023-05-04 08:09:02 +02:00
Jan Pieter Waagmeester f5b39b77e3 Fixed #34535 -- Fixed SQLite dbshell crash on pathlib.Path when handling CommandError.
Regression in 5b884d45ac.
2023-05-04 06:07:12 +02:00
Mariusz Felisiak fb4c55d9ec Fixed CVE-2023-31047, Fixed #31710 -- Prevented potential bypass of validation when uploading multiple files using one form field.
Thanks Moataz Al-Sharida and nawaik for reports.

Co-authored-by: Shai Berger <shai@platonix.com>
Co-authored-by: nessita <124304+nessita@users.noreply.github.com>
2023-05-03 13:42:00 +02:00
Mariusz Felisiak 8e2460d599
Fixed #34529, Refs #34525 -- Reduced index operations with Meta.indexes/index_together when optimizing migrations.
This makes squashing migrations an available path for changing
Meta.index_together, which is deprecated, to Meta.indexes.

Follow up to f810325721.
2023-05-03 13:06:19 +02:00
Orhan Hirsch ea53e7c09f Fixed #34517 -- Avoided connection post_init signal to ImageField without width/height fields. 2023-05-03 06:35:19 +02:00
Paul Brown 3b62d8c83e
Refs #31369 -- Improved hint message in NullBooleanField's deprecation warning. 2023-05-02 15:42:11 -03:00
Bakdolot c61219a7ae
Fixed #34513 -- Added system check for relational fields in ModelAdmin.list_display. 2023-05-02 06:46:22 +02:00
Mariusz Felisiak 0e444e84f8 Fixed #34515 -- Made LocaleMiddleware prefer language from paths when i18n patterns are used.
Regression in 94e7f471c4.

This reverts commit 94e7f471c4
(refs #34069) and
partly reverts commit 3b4728310a.

Thanks Anthony Baillard for the report.

Co-Authored-By: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2023-05-02 06:04:18 +02:00
Mariusz Felisiak 191f6a9a45
Fixed #34528 -- Reduced Add/RemoveIndex operations when optimizing migrations. 2023-05-01 18:57:24 +02:00
4the4ryushin 0b0998dc15 Fixed #33759 -- Avoided unnecessary subquery in QuerySet.delete() with self-referential subqueries if supported. 2023-05-01 10:20:20 +02:00
Coen van der Kamp 7bbbadc693 Fixed #34380 -- Allowed specifying a default URL scheme in forms.URLField.
This also deprecates "http" as the default scheme.
2023-04-28 06:58:10 +02:00
Marc Gibbons 070cbac0db
Restored multiprocessing concurrency on coverage.py settings
* Revert "Reverted "Fixed #33213 -- Doc'd testing code coverage in parallel and used it.""

This reverts commit 78da5ca0c1.

* Restored coverage multiprocess concurrency with threads

Investigating https://github.com/nedbat/coveragepy/issues/1585 revealed
that thread tracing gets disabled when passing
`concurrency = multiprocessing`. Adding `thread` restores it, and
ensures that the `auser()` is reported as covered since the test suite
uses `AsyncToSync` to execute this middleware (which spawns threads).
2023-04-27 17:02:55 -03:00
Mariusz Felisiak 720abed343
Avoided creating default form fields in fields_for_model() when declared on form. 2023-04-27 15:26:23 +02:00
David Sanders 7d0e566208
Fixed #34518 -- Fixed crash of random() template filter with an empty list. 2023-04-26 14:17:57 +02:00
Mariusz Felisiak 9440f6ba41
Fixed #34512 -- Restored breadcrumbs on admin app index view.
Thanks Adam (ataylor32) for the report.

Regression in 872b61193b.
2023-04-26 08:36:56 +02:00
Claude Paroz 453cfa2815 Replaced docutils link by PyPI reference. 2023-04-25 12:41:06 +02:00
Ben Lomax 4dfc6ff8a8 Refs #31949 -- Made @never_cache and @cache_control() decorators to work with async functions.
Thanks Carlton Gibson and Mariusz Felisiak for reviews.
2023-04-25 10:08:03 +02:00
Ben Lomax a14ddc8cfc Added more tests for @cache_control decorator. 2023-04-25 10:04:49 +02:00
Bakdolot c813fb327c
Fixed #34481 -- Added system check for reverse related fields in ModelAdmin.list_display. 2023-04-24 08:14:35 -03:00
Simon Charette d660cee5bc Fixed #33766 -- Resolved FilteredRelation.condition at referencing time.
The previous implementation resolved condition at Join compilation time
which required introducing a specialized expression resolving mode to
alter the join reuse logic solely during that phase.

FilteredRelation.condition is now resolved when the relation is first
referenced which maintains the existing behavior while allowing the
removal of the specialized resolving mode and address an issue where
conditions couldn't spawn new joins.
2023-04-24 08:32:44 +02:00
Petter Friberg 8ed25d65ea Fixed #34505 -- Skipped varchar_pattern_ops/text_pattern_ops index creation when db_collation is set in related field. 2023-04-21 10:31:22 +02:00
Mariusz Felisiak 765b96734c Added SchemaTests._add_ci_collation() hook. 2023-04-21 10:00:09 +02:00
Marcelo Galigniana 8a6c0203c4 Fixed #34488 -- Made ClearableFileInput preserve "Clear" checked attribute when form is invalid. 2023-04-21 07:48:27 +02:00
Hielke Walinga fb535e0a90 Fixed #34496 -- Fixed handling source maps with data URI in ManifestStaticFilesStorage.
Regression in 781b44240a.
2023-04-21 05:42:06 +02:00
David Wobrock 8b1ff0da4b Refs #16055 -- Deprecated get_joining_columns()/get_reverse_joining_columns() methods. 2023-04-18 12:46:27 +02:00
David Wobrock 9bbf97bcdb Fixed #16055 -- Fixed crash when filtering against char/text GenericRelation relation on PostgreSQL. 2023-04-18 12:41:14 +02:00
sarahboyce 594fcc2b74 Fixed #22569 -- Made ModelAdmin.lookup_allowed() respect get_list_filter().
Thank you Simon Meers for the initial patch.
2023-04-17 14:09:38 +02:00
Mariusz Felisiak 198a19b692
Refs #34483 -- Fixed timesince()/timeuntil() with timezone-aware dates on different days and interval less than 1 day.
Follow up to 813015d67e.
Regression in 8d67e16493.
2023-04-14 17:41:03 +02:00
Scott Macpherson 53aee470d5 Fixed #34486 -- Fixed DatabaseOperations.compose_sql() crash with no existing database connection on PostgreSQL.
Regression in 09ffc5c121.
2023-04-14 10:11:33 +02:00
nessita 813015d67e
Fixed #34483 -- Fixed timesince()/timeuntil() with timezone-aware dates and interval less than 1 day.
Regression in 8d67e16493.

Thanks Lorenzo Peña for the report.
2023-04-13 13:16:33 -03:00
Mariusz Felisiak 173034b005 Refs #34482 -- Reverted "Fixed #32969 -- Fixed pickling HttpResponse and subclasses."
This reverts commit d7f5bfd241.

Thanks Márton Salomváry for the report.
2023-04-12 18:52:43 +02:00
Mariusz Felisiak 280ca147af Fixed #34484, Refs #34482 -- Reverted "Fixed #29186 -- Fixed pickling HttpRequest and subclasses."
This reverts commit 6220c445c4.

Thanks Adam Johnson and Márton Salomváry for reports.
2023-04-12 18:52:43 +02:00
Marcelo Galigniana dfc720c521 Fixed #27505 -- Allowed customizing Paginator's error messages. 2023-04-12 14:02:28 +02:00
sarahboyce 041b0a359a Fixed #34394 -- Added FORCE_SCRIPT_NAME handling to ASGIRequest.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-04-12 12:50:48 +02:00
Jacob Walls c3d7a71f83 Fixed #34480 -- Fixed crash of annotations with Chr(). 2023-04-11 05:56:47 +02:00
sarahboyce 3b4728310a Fixed #34455 -- Restored i18n_patterns() respect of prefix_default_language argument when fallback language is used.
Regression in 94e7f471c4.

Thanks Oussama Jarrousse for the report.
2023-04-10 08:49:54 +02:00
Mariusz Felisiak 2eb1f37260
Refs #34118 -- Fixed CustomChoicesTests.test_uuid_unsupported on Python 3.11.4+.
5342f5e713

Follow up to 38e63c9e61.
2023-04-07 11:07:54 +02:00
Mariusz Felisiak 5b8a043bf5
Fixed #34470 -- Enforced UTF-8 encoding on PostgreSQL.
Regression in 6a21658163.
2023-04-07 10:11:41 +02:00
Anders Kaseorg 73cbb372ba Fixed #34466 -- Reallowed setting cursor_factory in DATABASES["options"] on PostgreSQL.
Regression in 09ffc5c121.
2023-04-07 08:02:34 +02:00
Simon Charette 9daf8b4109 Fixed #34464 -- Fixed queryset aggregation over group by reference.
Regression in 59bea9efd2.

Refs #28477.

Thanks Ian Cubitt for the report.
2023-04-07 06:57:32 +02:00
Mariusz Felisiak 4bf4222010 Fixed #34459 -- Fixed SearchVector() crash for parameters with % symbol.
Thanks Patryk Zawadzki for the report.

Regression in 09ffc5c121.
2023-04-06 13:32:47 +02:00
Mariusz Felisiak 02a04ab79a Moved SearchVectorIndexTests.test_search_vector_index to postgres_tests.test_indexes. 2023-04-06 13:32:47 +02:00
Mariusz Felisiak 38e63c9e61
Refs #34118 -- Fixed CustomChoicesTests.test_uuid_unsupported on Python 3.12+.
2a4d8c0a9e
2023-04-05 13:59:10 +02:00
Simon Charette 87c63bd8df Fixed #34458 -- Fixed QuerySet.defer() crash on attribute names.
Thanks Andrew Cordery for the report.

Regression in b3db6c8dcb.
2023-04-05 05:38:10 +02:00
Simon Charette 0e1aae7a5f Fixed #34450 -- Fixed multi-valued JOIN reuse when filtering by expressions.
Thanks Roman Odaisky for the report.
2023-04-04 14:35:21 +02:00
Ben Lomax f2b97fbf06 Moved cache decorators tests into decorators/test_cache.py. 2023-04-04 09:53:31 +02:00
th3nn3ss 1d1ddffc27 Fixed #33738 -- Allowed handling ASGI http.disconnect in long-lived requests. 2023-04-03 14:01:48 +02:00
Ran Benita 066aabcb77 Fixed #34445 -- Fixed string-casting of non-string lazy objects.
This removes __text_cast() as it's the same as __cast().
_delegate_bytes and __delegate_text are mutually exclusive so the
`if self._delegate_bytes` branch in __cast() is unreachable.

Co-Authored-By: David Sanders <shang.xiao.sanders@gmail.com>
2023-03-30 11:42:10 +02:00
Mariusz Felisiak 7330408ac3
Reverted "Refs #31949 -- Enabled @sensitive_variables to work with async functions."
This reverts commits 23cbed2187 and
203a15cadb.
2023-03-30 10:22:23 +02:00
David Sanders 5dba5fda55
Fixed #34427 -- Improved error message when context processor does not return a dict. 2023-03-29 08:54:04 +02:00
Mariusz Felisiak 996c802229
Fixed #34443 -- Fixed filtering by transforms on reverse relations.
Regression in ce6230aa97.
2023-03-28 21:03:24 +02:00
Mariusz Felisiak 3afdc9e9b4
Refs #29799 -- Added field instance lookups to suggestions in FieldErrors.
Bug in cd1afd553f.
2023-03-28 19:18:48 +02:00
Gary Jarrel fcc7dc5781 Fixed #34438 -- Reallowed extending UserCreationForm.
Regression in 298d02a77a.
2023-03-28 11:33:20 +02:00
sarahboyce 45ecd9acca Fixed #28384 -- Fixed ModelAdmin.lookup_allowed() for OneToOneField primary keys and nested relations. 2023-03-28 09:26:39 +02:00
Tom Carrick d687febce5 Fixed #34383 -- Fixed layout of admin fieldsets with multiple fields on the same line.
Thanks Antonio Candido Nazareth junior for the report.

Regression in 96a598356a.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-03-27 14:05:24 +02:00
David Wobrock 21757bbdcd Refs #28948 -- Removed superfluous messages from cookie through bisect. 2023-03-27 09:22:00 +02:00
David Wobrock 9d0c878abf Refs #28948 -- Precomputed once serialized cookie messages.
When the cookie size is too long, the same messages were serialized
over and over again.
2023-03-27 09:14:54 +02:00
David Wobrock 67208a5ad6 Fixed typo in tests/messages_tests/test_cookie.py. 2023-03-27 08:55:48 +02:00
Simon Charette cb13792938
Fixed #34437 -- Made values() resolving error mention selected annotations.
While the add_fields() call from set_values() does trigger validation it
does so after annotations are masked resulting in them being excluded
from the choices of valid options surfaced through a FieldError.
2023-03-25 20:22:45 +01:00
David Smith cad376f844 Fixed #34077 -- Added form field rendering. 2023-03-24 10:16:30 +01:00
David Wobrock d6b6e5d0fd Fixed #28553 -- Fixed annotation mismatch with QuerySet.values()/values_list() on compound queries.
Co-authored-by: Matthias Kestenholz <mk@feinheit.ch>
2023-03-24 06:09:27 +01:00
Jon Janzen 23cbed2187
Refs #31949 -- Enabled @sensitive_variables to work with async functions. 2023-03-22 10:21:04 +01:00
Jure Slak d22209cb42 Fixed #34424 -- Fixed SelectDateWidget crash for inputs raising OverflowError. 2023-03-22 07:59:39 +01:00
Jure Slak b4870e7196 Refs #34434 -- Added assertion for cleaning 0-0-0 for forms.DateField. 2023-03-22 07:50:03 +01:00
Carlton Gibson 02c356f2f3
Fixed #34428 -- Made ASGIStaticFilesHandler adapt response to async iterator.
Bug in 0bd2c0c901.
2023-03-21 20:51:53 +01:00
T. Franzel a2eaea8f22 Fixed #34388 -- Allowed using choice enumeration types directly on model and form fields. 2023-03-21 19:44:41 +01:00
David Smith 051d5944f8 Refs #33134, Refs #34077 -- Adjusted form rendering recursion test.
Adjusted recursion depth test to use str() rather than the form or
field’s render() method.
2023-03-21 15:12:56 +01:00
Liyang Zhang f9f9215d3e
Fixed some typos in comments, docstrings, and tests. 2023-03-20 08:07:23 +01:00
Andy Chosak b295b31171 Fixed #34420 -- Corrected the order of imports in generated migration files. 2023-03-20 06:23:08 +01:00
Mariusz Felisiak e10c1688f9
Fixed #34322 -- Made ES module support to ManifestStaticFilesStorage optional.
Co-authored-by: Author: Claude Paroz <claude@2xlibre.net>
2023-03-18 14:05:41 +01:00
hb6h057 2ffa815c73 Fixed #34421 -- Fixed QuerySet.update() on querysets in descending order by annotations. 2023-03-18 13:19:40 +01:00
sarahboyce d2b688b966 Fixed #1873 -- Handled multi-valued query parameters in admin changelist filters. 2023-03-16 08:38:44 +01:00
sarahboyce 8d6f959be2 Refs #1873 -- Added test for IncorrectLookupParameters when list of values is passed to RelatedFieldListFilter. 2023-03-16 08:34:26 +01:00
Mariusz Felisiak 78da5ca0c1
Reverted "Fixed #33213 -- Doc'd testing code coverage in parallel and used it."
This reverts commit 69352d85fa.

Test coverage for async methods was no longer calculated with this
change.
2023-03-15 13:05:48 +01:00
David Wobrock de0c7744be Refs #28329 -- Fixed Cast() with ForeignKey to integer fields on MySQL. 2023-03-14 08:32:17 +01:00
Mariusz Felisiak 254ad2e345
Fixed #34405 -- Fixed setting Content-Type header in FileResponse for compress and brotli.
Thanks Chamal De Silva for the report.
2023-03-14 05:45:30 +01:00
Claude Paroz 03bc92af97 Fixed #34407 -- Reported filename when decoding fails in collectstatic's post_process. 2023-03-12 16:54:20 +01:00
Durval Carvalho 4b1bfea284 Fixed #34333 -- Fixed migration operations ordering when adding index/constraint on new foreign key.
Thanks Simon Charette and David Wobrock for reviews.
2023-03-10 07:05:11 +01:00
Simon Charette dde2537fbb Fixed #27397 -- Prevented integer overflows on integer field lookups.
This prevents a sqlite3 crash and address a potential DDoS vector on
PostgreSQL caused by full-table-scans on overflows.
2023-03-09 15:55:10 +01:00
Hrushikesh Vaidya a52bdea5a2 Fixed #33985 -- Used app_config.verbose_name in ContentType.__str__(). 2023-03-09 10:27:08 +01:00
David Wobrock 2396933ca9 Fixed #34384 -- Fixed session validation when rotation secret keys.
Bug in 0dcd549bbe.

Thanks Eric Zarowny for the report.
2023-03-08 10:48:04 +01:00
Carlton Gibson 9b22457987
Refs #32172 -- Used asgiref coroutine shim in async signals tests.
Bug in e83a88566a.
2023-03-08 09:53:25 +01:00
Jon Janzen e846c5e724 Fixed #31920 -- Made AuthenticationMiddleware add request.auser(). 2023-03-07 13:11:22 +01:00
Jon Janzen e83a88566a Fixed #32172 -- Adapted signals to allow async handlers.
co-authored-by: kozzztik <kozzztik@mail.ru>
co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2023-03-07 08:39:25 +01:00
David Smith 507bc13648 Refs #34381 -- Fixed InspectDBTransactionalTests.test_foreign_data_wrapper() on Windows. 2023-03-06 13:40:35 +01:00
David Smith b05dfc2894
Refs #34381, Refs #10929 -- Fixed postgres_tests.test_aggregates.TestGeneralAggretate.test_empty_result_set() on PostgreSQL 14+.
Follow up to 0be8095b25.
2023-03-05 19:06:21 +01:00
Mariusz Felisiak 2660bc19f3
Refs #32539 -- Fixed facet filter tests on Oracle.
Follow up to 868e2fcdda.
2023-03-05 13:19:09 +01:00
Mariusz Felisiak 61f599aeb9
Refs #34381 -- Fixed isolation of MigrateTests.test_migrate_fake_initial(). 2023-03-04 13:09:38 +01:00
sarahboyce 868e2fcdda Fixed #32539 -- Added toggleable facet filters to ModelAdmin.
Thanks Carlton Gibson, Simon Willison, David Smith, and Mariusz
Felisiak for reviews.
2023-03-03 20:24:57 +01:00
sarahboyce 50ca4defcb Added test for preserving popup by reset link in the admin changelist. 2023-03-03 10:18:15 +01:00
Mariusz Felisiak 52e54860bf
Moved duplicate user declarations to setUpTestData() in AdminSiteFinalCatchAllPatternTests. 2023-03-03 10:08:06 +01:00
Dominique Bischof 17e08b2177 Fixed #34377 -- Fixed preserving query strings in AdminSite.catch_all_view().
Included full path when redirecting with append slash to include query
strings.

Regression in ba31b01034.
2023-03-03 08:18:54 +01:00
Dominique Bischof 4338b6526d Refs #31747 -- Added more tests for preserving query strings when redirect with APPEND_SLASH in admin. 2023-03-03 08:18:54 +01:00
Ekaterina Vahrusheva 55bcbd8d17 Fixed #34378 -- Made QuerySet.in_bulk() not clear odering when id_list is passed.
This reverts 340eaded4e.
2023-03-03 06:00:10 +01:00
Heath Henley 56e5ea805b
Fixed #34374 -- Fixed GIS tests on Windows. 2023-03-02 19:14:24 +01:00
Simon Charette c67ea79aa9 Fixed #34368 -- Made subquery raise NotSupportedError when referencing outer window expression.
Regression in f387d024fc.

Co-authored-by: Jannis Vajen <jvajen@gmail.com>
2023-02-27 07:18:58 +01:00
Simon Charette b15f162f25
Fixed #34372 -- Fixed queryset crash on order by aggregation using OrderBy.
Regression in 278881e376 caused by a lack
of expression copying when an OrderBy expression is explicitly provided.

Thanks Jannis Vajen for the report and regression test.
2023-02-27 07:10:19 +01:00
Laurent Tramoy 2276ec8c21 Fixed #34366 -- Reduced AlterField operations when optimizing migrations. 2023-02-24 13:59:42 +01:00
Mariusz Felisiak 2c428b37ae
Refs #34338 -- Fixed isolation of constraints tests.
Regression in 5b3d3e400a.
2023-02-24 09:02:45 +01:00
Tim Graham 40e88ae8c8
Refs #34320 -- Added skipIf for a test requiring check constraints. 2023-02-24 06:00:00 +01:00
Mariusz Felisiak 16c966ff7f
Refs #30060, Refs #34217 -- Made SchemaEditor not generate SQL for CheckConstraint if not supported.
The new logic mirrors the logic in SchemaEditor._delete_check_sql()
added in 68ef274bc5.

Thanks Tim Graham for the report.
2023-02-23 21:12:17 +01:00
Xavier Fernandez 5b3d3e400a Fixed #34338 -- Allowed customizing code of ValidationError in BaseConstraint and subclasses. 2023-02-23 10:58:20 +01:00
Xavier Fernandez 51c9bb7cd1 Refs #33829 -- Added violation_error_message to constraints' __repr__(). 2023-02-23 05:35:58 +01:00
Panagiotis H.M. Issaris dcd9746983
Fixed #34363 -- Fixed floatformat crash on zero with trailing zeros.
Regression in 08c5a78726.
Follow up to 4b066bde69.
2023-02-22 20:46:16 +01:00
Xavier Fernandez ad18a0102c Fixed #34355 -- Deprecated passing positional arguments to BaseConstraint. 2023-02-22 09:37:58 +01:00
Mariusz Felisiak 96bc4254ee
Refs #31445 -- Added test for nesting QuerySet.union().
This was fixed in MySQL 8.0.31.
2023-02-21 12:47:52 +01:00
Mariusz Felisiak 5afd8c6940
Refs #16969 -- Added test for not initializing PostGIS-specific stuff for non-db connections. 2023-02-21 08:42:28 +01:00
Laurens Verhoeven 6cbc403b8e Fixed #34349 -- Fixed FormSet.empty_form crash when deleting extra forms is disabled. 2023-02-20 09:04:29 +01:00
Simon Charette 278881e376 Fixed #34346 -- Ordered selected expressions by position.
Used the same approach as for #34176 by using selected expressions
position to prevent ambiguous aliases in collisions.

Thanks henribru for the report.

Regression in 04518e310d.
2023-02-20 05:54:25 +01:00
Simon Charette a6511bc233 Refs #33308 -- Added tests for queryset ordered by annotation with nulls_first/nulls_last. 2023-02-18 16:28:10 +01:00
Stefan Brand eacf6b73d8 Fixed #34302 -- Fixed SpatialReference.srid for objects without top-level authority. 2023-02-17 19:56:29 +01:00
Stefan Brand d77762de03 Refs #34302 -- Fixed SpatialReference.auth_name()/auth_code() when target is None.
force_bytes() turns None into the byte string b"None". Since
ctypes.c_char_p() also accepts None, we can bypass force_bytes() if
target is None.
2023-02-17 19:56:29 +01:00
Alexandre Spaeth 52b054824e Fixed #34342, Refs #33735 -- Fixed test client handling of async streaming responses.
Bug in 0bd2c0c901.

Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2023-02-17 10:48:04 +01:00
Alexandre Spaeth bfb8fda3e6 Refs #34342 -- Added tests for handling sync streaming responses by test client.
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2023-02-17 10:48:00 +01:00
Nick Pope 8eef22dfed Fixed #34343 -- Moved built-in templates to filesystem. 2023-02-17 09:50:50 +01:00
Durval Carvalho 85366fbca7 Fixed #34045 -- Improved accessibility of selecting items in admin changelist.
This adds "aria-label".
2023-02-16 08:29:40 +01:00
nabil-rady 6bdc3c58b6 Fixed #34320 -- Make sure constraints names are obtained from truncated columns names. 2023-02-15 16:51:31 +01:00
Marcelo Galigniana f9f0092346 Completed test coverage for django.utils.datastructures. 2023-02-15 07:45:00 +01:00
Marcelo Galigniana f608e6a157 Completed test coverage for django.db.migrations.graph. 2023-02-15 07:40:19 +01:00
Marcelo Galigniana 5b23d6666e Completed test coverage for django.forms.utils. 2023-02-15 07:36:05 +01:00
DevilsAutumn ff3a283422 Fixed #34250 -- Fixed renaming model with m2m relation to a model with the same name. 2023-02-14 14:08:06 +01:00
tschilling c5808470aa Fixed #34280 -- Allowed specifying different field values for create operation in QuerySet.update_or_create(). 2023-02-14 11:50:35 +01:00
Markus Holtermann 85ac33591c Fixed CVE-2023-24580 -- Prevented DoS with too many uploaded files.
Thanks to Jakob Ackermann for the report.
2023-02-14 08:18:40 +01:00
sarahboyce e678046681 Fixed #34316 -- Fixed layout of admin password change forms and help texts.
Regression in 96a598356a.
2023-02-13 09:41:31 +01:00
Paolo Melchiorre 69352d85fa
Fixed #33213 -- Doc'd testing code coverage in parallel and used it. 2023-02-11 09:43:26 +01:00
Dhanush a18d20ca97 Fixed #32813 -- Made runserver display port after binding.
Thanks Florian Apolloner for the review.
2023-02-10 08:22:34 +01:00
Jacob Rief 473283d241
Fixed #34303 –- Allowed customizing admin site log entry list.
Added AdminSite.get_log_entries() as an override point and made this
available to the template via each_context().
2023-02-08 18:37:32 +01:00