Commit Graph

17299 Commits

Author SHA1 Message Date
Raffaele Salmaso 7b9596b974 Fixed #32034 -- Removed redundant get_app_config() call in AdminSite.app_index.
app_config.verbose_name is already in app_dict.
2020-09-23 10:01:05 +02:00
Hasan Ramezani 71d10ca8c9 Fixed #31723 -- Fixed window functions crash with DecimalField on SQLite.
Thanks Simon Charette for the initial patch.
2020-09-23 09:35:32 +02:00
Mariusz Felisiak 75d7af43c1
Corrected docstring quotes in various code. 2020-09-22 10:30:53 +02:00
Adam Johnson 2d2fbc3a70
Made jinja2 import lazy in django.forms.
Benchmarking shows that about 22% of the startup time for a simple
django project was spent importing jinja2, which the project doesn't
use.

It's reasonable to make this import lazy. This will only affect
projects where jinja2 is installed but not used, but given the
prevalence of jinja2 that's likely to be many environments (e.g. if
Ansible is installed, or the global Python install is used).
2020-09-22 09:53:17 +02:00
Tom Carrick e387f191f7 Fixed #31777 -- Added support for database collations to Char/TextFields.
Thanks Simon Charette and Mariusz Felisiak for reviews.
2020-09-21 18:24:56 +02:00
Tom Carrick 278b6187d2 Refs #21181 -- Corrected DatabaseFeatures.test_collations for Swedish collation.
Previously, backends used different keys "swedish-ci" or "swedish_ci".
2020-09-18 12:15:46 +02:00
Владимир Лысенко b376297d6c Tweaked loaddata command to re-use a calculated value.
Removed a dublicated call to get_public_serializer_formats which
had already populated self.serialization_formats.

Thanks to Nick Pope for review.
2020-09-17 10:49:54 +02:00
Hasan Ramezani a046bcadbe
Fixed #31916 -- Fixed combined queryset crash when combining with ordered combined querysets. 2020-09-17 08:26:06 +02:00
Kwist 981a072dd4 Fixed #31843 -- Fixed pickling named values from QuerySet.values_list(). 2020-09-16 13:43:06 +02:00
Nick Pope b4d46df5ca Fixed #29887 -- Added a cache backend for pymemcache. 2020-09-16 09:40:30 +02:00
Mariusz Felisiak eaf9764d3b
Fixed #32007 -- Fixed queryset crash with Q() annotation and aggregation.
Thanks Gordon Wrigley for the report.

Regression in 8a6df55f2d.
2020-09-15 11:40:59 +02:00
Hasan Ramezani 7be6a6a4d6 Fixed #31989 -- Fixed return value of django.core.files.locks.lock()/unlock() on POSIX systems. 2020-09-15 10:21:26 +02:00
manav014 580a4341cb Fixed #31636 -- Made BooleanFieldListFilter respect Field.choices. 2020-09-15 09:12:14 +02:00
Tim Graham 7f2392981d
Added DatabaseIntrospection.index_default_access_method hook on the PostgreSQL backend.
This hook is for the CockroachDB backend where the name is 'prefix'.
2020-09-15 07:38:50 +02:00
Mariusz Felisiak e11d05e0b4
Fixed #31990 -- Fixed QuerySet.ordered for GROUP BY queries on models with Meta.ordering.
Regression in 0ddb4ebf7b.

Thanks Julien Dutriaux for the report.
2020-09-14 20:07:44 +02:00
Tom Carrick bcc2befd0e Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
Barton Ip 12d6cae7c0 Fixed #31766 -- Made GDALRaster.transform() return a clone for the same SRID and driver.
Thanks Daniel Wiesmann for the review.
2020-09-11 10:31:38 +02:00
Hasan Ramezani 5362e08624 Fixed #31943 -- Fixed recreating QuerySet.values()/values_list() when using a pickled Query. 2020-09-11 07:58:52 +02:00
Jon Dufresne 84609b3205 Fixed #31993 -- Added subtitles to admin change/view pages. 2020-09-11 06:28:45 +02:00
Jon Dufresne 53c0d16ac1
Fixed #31992 -- Made admin password reset templates use title/content_title blocks from the base template. 2020-09-10 11:53:09 +02:00
Ryan Hiebert 502e75f9ed Fixed #31750 -- Made models.Field equality compare models for inherited fields. 2020-09-09 20:52:59 +02:00
Hasan Ramezani 2808cdc8fb Fixed #31962 -- Made SessionMiddleware raise SessionInterrupted when session destroyed while request is processing. 2020-09-09 09:04:28 +02:00
Petr Čermák fc1446073e Fixed #31987 -- Fixed Cast() with DurationField on MySQL. 2020-09-09 07:01:18 +02:00
Francisco Couzo 5ea1621c72
Fixed #31985 -- Corrected salted_hmac()'s docstring about supported algorithms.
salted_hmac() validates supported algorithms by checking hashlib
methods.
2020-09-07 10:59:36 +02:00
François Freitag 57dadfac3c Fixed #31944 -- Used addCleanup() to register TestContextDecorator cleanups.
Cleanups from addCleanup() are scheduled to happen in reverse order to
the order they are added (LIFO). Ensures each cleanup is executed from
the innermost to the outermost.
2020-09-07 08:07:26 +02:00
Jon Dufresne 11ebc6479f Fixed #31791 -- Made technical 404 debug page display the tried URL patterns for Http404. 2020-09-07 06:54:19 +02:00
Tim Graham 83dea65ed6
Refs #21231 -- Corrected parse_qsl() fallback.
An oversight in fd209f62f1.
2020-09-07 06:25:56 +02:00
Hasan Ramezani d2d08c8cf6 Fixed #31982 -- Made HttpResponse.set_cookie() cast max_age argument to an integer. 2020-09-05 10:07:23 +02:00
Mariusz Felisiak e6b5108acc
Fixed #27417 -- Made RenameField operation a noop for field name case changes on Oracle.
Field names are always uppercased in the Oracle backend. Changing case
should be a noop to avoid database errors: "ORA-00957: duplicate column
name".
2020-09-04 20:27:23 +02:00
Nick Pope fd209f62f1 Refs #21231 -- Backport urllib.parse.parse_qsl() from Python 3.8. 2020-09-03 14:24:42 +02:00
Jon Dufresne 0b8871ab67
Fixed #31979 -- Made django.test.utils.setup_databases()'s time_keeper argument optional. 2020-09-03 09:48:40 +02:00
Collin Anderson daa26acc4e Fixed #31978 -- Added username hint to admin's password reset confirmation form. 2020-09-03 09:25:21 +02:00
Brian Helba 2d42e23b6d Fixed #31941 -- Corrected FileField.deconstruct() with a callable storage. 2020-09-02 11:06:18 +02:00
Tim Park ece18207cb Fixed #31858 -- Reallowed whitespaces in URL paths outside of parameters.
Regression in 22394bd3a1.

Thanks David Smith for the review.
2020-09-02 10:24:14 +02:00
Nick Pope a629139425 Refs #29887, Refs #24212 -- Added servers configuration hook for memcached backends.
The servers property can be overridden to allow memcached backends to
alter the server configuration prior to it being passed to instantiate
the client. This allows avoidance of documentation for per-backend
differences, e.g. stripping the 'unix:' prefix for pylibmc.
2020-09-02 08:51:17 +02:00
Joe Jackson 9d5d865fd6 Fixed #31948 -- Added tzinfo parameter to TruncDate() and TruncTime(). 2020-09-02 07:42:27 +02:00
Nick Pope cc1f2c6a19 Refs #29887 -- Simplified memcached client instantiation. 2020-09-01 10:51:00 +02:00
Mariusz Felisiak 1853724aca Fixed CVE-2020-24584 -- Fixed permission escalation in intermediate-level directories of the file system cache on Python 3.7+. 2020-09-01 09:17:23 +02:00
Mariusz Felisiak 8d7271578d Fixed CVE-2020-24583, #31921 -- Fixed permissions on intermediate-level static and storage directories on Python 3.7+.
Thanks WhiteSage for the report.
2020-09-01 09:17:23 +02:00
007gzs 2bc38bc7ca Fixed #31901 -- Prevented content overflowing in the admin changelist with navigation sidebar. 2020-09-01 07:51:22 +02:00
Federico Jaramillo Martínez 179d9dc0c2 Fixed #31952 -- Fixed EmptyFieldListFilter crash with reverse relationships.
Thanks dacotagh for the report.
2020-08-31 09:28:05 +02:00
Simon Charette f6405c0b8e Fixed #31965 -- Adjusted multi-table fast-deletion on MySQL/MariaDB.
The optimization introduced in 7acef095d7 did not properly handle
deletion involving filters against aggregate annotations.

It initially was surfaced by a MariaDB test failure but misattributed
to an undocumented change in behavior that resulted in the systemic
generation of poorly performing database queries in 5b83bae031.

Thanks Anton Plotkin for the report.

Refs #23576.
2020-08-31 08:11:28 +02:00
Simon Charette 38fce49c82 Fixed #31919 -- Resolved output_field of IntegerField subclasses combinations. 2020-08-31 06:42:40 +02:00
Mariusz Felisiak 0be51d2226 Fixed #31956 -- Fixed crash of ordering by JSONField with a custom decoder on PostgreSQL.
Thanks Marc Debureaux for the report.
Thanks Simon Charette, Nick Pope, and Adam Johnson for reviews.
2020-08-28 19:09:46 +02:00
Koen De Wit 4c0b4720b0 Fixed #31954 -- Fixed migration optimization for MTI model creation with parent model with mixed case app label. 2020-08-28 13:35:13 +02:00
Kevin Michel 825ce75fae Fixed #31928 -- Fixed detecting an async get_response in various middlewares.
SecurityMiddleware and the three cache middlewares were not calling
super().__init__() during their initialization or calling the required
MiddlewareMixin._async_check() method.

This made the middlewares not properly present as coroutine and
confused the middleware chain when used in a fully async context.

Thanks Kordian Kowalski for the report.
2020-08-28 12:33:15 +02:00
Kevin Michel ea57a2834f Refs #31928 -- Made SessionMiddleware call super().__init__(). 2020-08-28 12:33:15 +02:00
Mariusz Felisiak e39e727ded
Fixed #31912 -- Removed strict=True in Path.resolve() in project template and CommonPasswordValidator.
This caused permission errors when user didn't have permissions to
all intermediate directories in a Django installation path.

Thanks tytusd and leonyxz for reports.

Regression in edeec1247e and
26554cf5d1.
2020-08-28 05:57:36 +02:00
Phil Gyford e02738bf55 Refs #31913 -- Corrected comment in PasswordResetTokenGenerator.
Follow up to da4923ea87.
2020-08-27 12:57:16 +02:00
Alexander 20d38fd759 Fixed #31947 -- Made QuerySet.update_or_create() reuse get_or_create(). 2020-08-27 11:46:47 +02:00