Commit Graph

17430 Commits

Author SHA1 Message Date
nik258heda 079deba530 Fixed #32087 -- Made technical 500 debug page use HTTPS for sharing traceback. 2020-10-12 06:29:36 +02:00
Thomas Riccardi f1f24539d8 Fixed #32094 -- Fixed flush() calls on management command self.stdout/err proxies. 2020-10-09 12:59:00 +02:00
Tim Schilling b7da588e88 Fixed #32091 -- Fixed admin search bar width on filtered admin page. 2020-10-09 11:39:22 +02:00
Qi Zhao de81676b51 Fixed #32080 -- Fixed displaying Unicode chars in forms.JSONField and read-only JSONField values in admin. 2020-10-09 08:14:17 +02:00
Julien Rebetez b790883065 Fixed #31181 -- Added links to related models for admin's readonly fields. 2020-10-08 19:53:49 +02:00
Tom Carrick dcb69043d0 Fixed #32002 -- Added headers parameter to HttpResponse and subclasses. 2020-10-07 09:19:57 +02:00
Bob Renwick 036f160733 Refs #20577 -- Deferred filtering of prefetched related querysets by reverse m2o relation. 2020-10-06 21:19:56 +02:00
Mariusz Felisiak 999cddd58d
Fixed #32073 -- Skipped collation tests on PostgreSQL < 10.
PostgreSQL < 10 doesn't support ICU collations.

Thanks Hannes Ljungberg for the report.
2020-10-06 12:51:35 +02:00
Florian Apolloner 143d8e1ab3 Removed unneeded calls to iri_to_uri() in cache key generation.
request.build_absolute_uri() already applies iri_to_uri()
2020-10-06 12:29:06 +02:00
Florian Apolloner 75d2af2c89 Removed unneeded iri_to_uri() call in reverse().
_reverse_with_prefix() already quotes using a stricter subset of the
safe characters used by iri_to_uri().
2020-10-06 12:29:06 +02:00
Tom Carrick 342a41740d Fixed #32072 -- Fixed admin search bar height.
Thanks şuayip üzülmez for the report.

Regression in 8ee4bb6ffc.
2020-10-06 11:33:48 +02:00
Simon Charette 0ef04fdd7a Refs #31926 -- Fixed reverse related identity crash on Q() limit_choices_to. 2020-10-05 20:47:51 +02:00
Simon Charette 4c675523bd Refs #29838, Refs #28507 -- Made make_hashable() ignore key order. 2020-10-05 20:42:46 +02:00
Hasan Ramezani 981a3426cf Fixed #32068 -- Added error messages on get() with filters following union(), intersection(), and difference(). 2020-10-05 12:25:05 +02:00
David-Wobrock c32d8f33d8 Fixed #31926 -- Fixed recreating queryset with FilteredRelation when using a pickled Query.
In a pickled join, the join_fields had the same values, but weren't the
same object (contrary to when not pickling the QuerySet).
2020-10-05 10:07:34 +02:00
Nick Pope 06c5d3fafc Fixed #32060 -- Added Random database function. 2020-10-02 06:58:03 +02:00
Thibaud Colas b807298c66 Fixed #32051 -- Fixed rocket animation on the 'Congrats' page.
- Fixed congratulations smoke being cropped.
- Refactored congratulation rocket so the animation can be stopped.
- Made animation respect user preference for reduced animation.
- Made rocket animation stop after 7s.
2020-10-01 11:55:26 +02:00
Thibaud Colas 838e115ab1 Refs #32051 -- Cleaned up CSS and SVG in the 'Congrats' page.
- Removed unnecessary vendor prefixes.
- Removed unused CSS and SVG code.
- Removed invalid CSS.
- Removed IE9-only browser reset styles.
- Fixed animation on Firefox.
2020-10-01 11:11:58 +02:00
Tom Carrick 8ee4bb6ffc Fixed #31986 -- Fixed admin filter sidebar scrolling.
Regression in 2bc38bc7ca.

Thanks haki for the report.
2020-09-30 20:35:16 +02:00
Hasan Ramezani 6eb3f53bdd Fixed #32047 -- Fixed call_command() crash if a constant option from required mutually exclusive group is passed in options. 2020-09-30 20:10:38 +02:00
aryan 11c4a4412b Fixed #30422 -- Made TemporaryFileUploadHandler handle interrupted uploads.
This patch allows upload handlers to handle interrupted uploads.

Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-09-30 10:30:43 +02:00
Claude Paroz 5fcfe5361e Updated translations from Transifex.
Forwardport of f7397bb7c8 from stable/3.1.x.
2020-09-30 10:25:48 +02:00
David Wobrock 058747b77a Fixed #31880 -- Made QuerySet.aggregate() raise FieldError when aggregating over aggregation aliases. 2020-09-29 09:04:25 +02:00
Jacob Walls 01a7af09b9 Fixed #18995 -- Made blocktranslate tag raise TemplateSyntaxError when plural count is not a number. 2020-09-29 08:03:51 +02:00
meghanabhange 848770dd2c Fixed #32042 -- Improved error messages for the number of submitted forms in formsets. 2020-09-28 07:05:34 +02:00
Mariusz Felisiak e4ab44a4b2 Fixed #32038 -- Fixed EmptyFieldListFilter crash with GenericRelation.
Thanks Javier Matos Odut for the report.
2020-09-25 10:09:28 +02:00
David Smith 599f2f79e2 Fixed #30563 -- Optimized form Media by removing duplicated assets when adding. 2020-09-24 13:53:06 +02:00
Jacob Walls e26a7a8ef4 Fixed #27906 -- Fixed test tools counting of HTML matches for subsets of elements.
Previously examples such as '<a/><b/>' would not match in '<a/><b/><c/>'.
2020-09-24 12:52:41 +02:00
Matthias Kestenholz 01974d7f75
Fixed #32029 -- Removed unnecessary margin in admin CSS for horizontal radio inputs. 2020-09-23 13:58:26 +02:00
Matthias Kestenholz 01c6caa3e6
Fixed #32027 -- Fixed wrapping of long words in admin error messages. 2020-09-23 13:51:02 +02:00
Mariusz Felisiak 77caeaea88
Fixed #32012 -- Made test database creation sync apps models when migrations are disabled.
Thanks Jaap Roes for the report.
2020-09-23 10:54:04 +02:00
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
Mariusz Felisiak 1251772cb8
Fixed #31936 -- Fixed __in lookup on key transforms for JSONField.
This resolves an issue on databases without a native JSONField
(MariaDB, MySQL, SQLite, Oracle), where values must be wrapped.

Thanks Sébastien Pattyn for the report.
2020-08-26 22:13:37 +02:00
Jeremy Lainé 9c92924cd5 Fixed #31942 -- Made settings cleansing work with dictionary settings with non-string keys. 2020-08-26 11:59:37 +02:00
Kaustubh b9be11d442 Fixed #31918 -- Allowed QuerySet.in_bulk() to fetch on a single distinct field. 2020-08-26 09:43:39 +02:00
Michael Galler 547a07fa7e Fixed #31905 -- Made MiddlewareMixin call process_request()/process_response() with thread sensitive.
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2020-08-26 07:13:49 +02:00
Tim Graham ea880ec233 Fixed #24533 -- Dropped PostgreSQL sequence and Oracle identity when migrating away from AutoField. 2020-08-24 14:32:07 +02:00
Mariusz Felisiak bb8f66934d Fixed #31877 -- Reverted "Fixed #19878 -- Deprecated TemplateView passing URL kwargs into context."
This reverts commit 4ed534758c.
2020-08-24 11:37:59 +02:00
Mariusz Felisiak 04e87e79a0 Refs #31877 -- Reverted "Fixes #31877 -- Used lazy() for TemplateView kwarg deprecation warning."
This reverts commit 20799cc0a6.
2020-08-24 11:37:59 +02:00
Nick Pope b5acb9db75 Fixed #31907 -- Fixed missing validate_key() calls in cache backends. 2020-08-24 09:41:21 +02:00
Nick Pope e2013b260a Refs #29887, #27480 -- Moved touch() to BaseMemcachedCache. 2020-08-20 09:00:21 +02:00
Nick Pope 0cb0d59b23 Fixed comments related to nonexistent keys for incr()/decr() in memcached backends. 2020-08-20 08:58:50 +02:00
Mariusz Felisiak 4376c2c7f8
Fixed #31895 -- Fixed crash when decoding invalid session data.
Thanks Matt Hegarty for the report.
Regression in d4fff711d4.
2020-08-19 12:06:00 +02:00
Maxim Petrov bf6d07730c Fixed #31902 -- Fixed crash of ExclusionConstraint on expressions with params. 2020-08-19 06:43:54 +02:00
Mariusz Felisiak 35b03788b0 Refs #9061 -- Allowed GenericInlineFormSet to disable deleting extra forms.
Follow up to 162765d6c3.
2020-08-18 09:37:15 +02:00
Mariusz Felisiak 3254991762 Refs #20347 -- Allowed customizing the maximum number of instantiated forms in generic_inlineformset_factory().
Follow up to 433dd737f9.
2020-08-18 09:37:15 +02:00
Iuri de Silvio 632ccffc49 Fixed #31826 -- Made AlterField operation a noop when adding db_column.
AlterField operation with adding a db_column is a noop if the column
name is not changed.
2020-08-14 13:13:36 +02:00
Mads Jensen 3a6fa1d962 Added missing items to django.test.client.__all__ and django.test.utils.__all__. 2020-08-14 11:48:04 +02:00
Mads Jensen 3718bc5c8d Removed unnecessary urlsplit() call from SimpleTestCase.assertRedirects(). 2020-08-14 11:48:04 +02:00
Yan Mitrofanov b88f98738f Fixed #31878 -- Made createsuperuser respect --database option in default usernames. 2020-08-14 11:08:20 +02:00
Ahmad A. Hussein 61a0ba43cf Refs #31811 -- Added optional timing outputs to the test runner. 2020-08-13 17:17:15 +02:00
Simon Charette 51297a9232 Fixed #31792 -- Made Exists() reuse QuerySet.exists() optimizations.
The latter is already optimized to limit the number of results, avoid
selecting unnecessary fields, and drop ordering if possible without
altering the semantic of the query.
2020-08-13 14:10:36 +02:00
Iuri de Silvio 7f4c9222df Fixed #31825 -- Made RenameField operation a noop for fields with db_column. 2020-08-13 13:14:58 +02:00
Adam Johnson 20799cc0a6 Fixes #31877 -- Used lazy() for TemplateView kwarg deprecation warning.
SimpleLazyObjects cause a crash when filtering.

Thanks Tim L. White for the report.
Regression in 4ed534758c.
2020-08-13 07:26:10 +02:00
Pat Garcia 8954f255bb Fixed #31382 -- Made Model.save(update_fields=...) raise ValueError on non-concrete fields. 2020-08-12 21:13:55 +02:00
Gert Burger 94ea79be13 Fixed #31863 -- Prevented mutating model state by copies of model instances.
Regression in bfb746f983.
2020-08-12 12:43:42 +02:00
Tom Carrick 63300f7e68 Fixed #21181 -- Added Collate database function.
Thanks Simon Charette for reviews.
2020-08-11 22:21:08 +02:00
Daniel Hillier 60626162f7 Fixed #31866 -- Fixed locking proxy models in QuerySet.select_for_update(of=()). 2020-08-11 11:55:10 +02:00
Carlton Gibson 0aeb802cf0 Fixed #31865 -- Adjusted admin nav sidebar template to reduce debug logging.
Thanks to Mariusz Felisiak for review.
2020-08-11 11:42:15 +02:00
Iuri de Silvio ebd78a9f97
Fixed #31870 -- Fixed crash when populating app registry with empty or without apps module.
Regression in 3f2821af6b.
2020-08-10 20:16:45 +02:00
אורי ad827ddaef
Fixed #31871 -- Updated SESSION_COOKIE_SAMESITE comment in global_settings.py.
Follow up to b33bfc3839.
2020-08-10 08:46:34 +02:00
Iuri de Silvio 58a336a674 Fixed #31831 -- Fixed migration operations ordering when adding order_with_respect_to and constraints/indexes. 2020-08-08 20:43:45 +02:00
Mariusz Felisiak 99abfe8f4d
Fixed #31864 -- Fixed encoding session data during transition to Django 3.1.
Thanks אורי for the report.
2020-08-07 21:42:39 +02:00
Nick Pope 0a306f7da6 Fixed #25513 -- Extracted admin pagination to Paginator.get_elided_page_range(). 2020-08-06 12:38:56 +02:00
Nick Pope f35840c196 Refs #25513 -- Fixed admin pagination elision bounds.
It doesn't make sense to elide a single page number which could be a
clickable link to that page. We only want to elide two or more pages.
2020-08-06 12:38:56 +02:00
Nick Pope b203ec70fd Refs #25513 -- Adjusted admin pagination to be 1-indexed. 2020-08-06 12:38:56 +02:00
Mariusz Felisiak e70dc506d7 Fixed #31854 -- Fixed wrapping of long model names in admin's sidebar. 2020-08-05 10:54:25 +02:00
007gzs b0af56f639 Fixed #31853 -- Fixed wrapping of translated action labels in admin sidebar. 2020-08-05 10:24:16 +02:00
Claude Paroz b23216d9d0
Refs #31493 -- Replaced var with const and let in JavaScriptCatalog template. 2020-08-05 08:08:46 +02:00
Jacob Walls c7e7f176c1 Fixed #26977 -- Made abstract models raise TypeError when instantiating. 2020-08-05 06:37:04 +02:00
Mariusz Felisiak d907371ef9 Fixed #31842 -- Added DEFAULT_HASHING_ALGORITHM transitional setting.
It's a transitional setting helpful in migrating multiple instance of
the same project to Django 3.1+.

Thanks Markus Holtermann for the report and review, Florian
Apolloner for the implementation idea and review, and Carlton Gibson
for the review.
2020-08-04 09:35:24 +02:00
Claude Paroz 1a60838fa6 Updated translations from Transifex 2020-08-01 20:41:11 +02:00
Alexandr Tatarinov f4ac167119 Fixed #27719 -- Added QuerySet.alias() to allow creating reusable aliases.
QuerySet.alias() allows creating reusable aliases for expressions that
don't need to be selected but are used for filtering, ordering, or as
a part of complex expressions.

Thanks Simon Charette for reviews.
2020-07-31 13:19:33 +02:00
Sergey Fedoseev 0b655a4bf8
Removed unnecessary list() call in RelatedManager.add(). 2020-07-30 12:19:00 +02:00
David Smith e74b3d724e Bumped minimum isort version to 5.1.0.
Fixed inner imports per isort 5.
isort 5.0.0 to 5.1.0 was unstable.
2020-07-30 10:58:59 +02:00
Viktor Garske 1173db4a16 Fixed #31822 -- Added support for comments URL per feed item.
The item_comments hook returns a comments URL which is then used by the
feed builder.
2020-07-30 07:36:27 +02:00
Tim Graham 184a6eebb0
Refs #31829 -- Added DatabaseFeatures.json_key_contains_list_matching_requires_list.
CockroachDB's behavior matches PostgreSQL.
2020-07-30 06:38:02 +02:00
David Smith 95da207bdb Fixed #28507 -- Made ValidationError.__eq__() ignore messages and params ordering.
Co-authored-by: caleb logan <clogan202@gmail.com>
2020-07-29 12:04:13 +02:00
Florian Demmer 16218c2060 Fixed #27395 -- Added sitemap 'alternates' generation.
Updated the sitemap generator and default template to optionally
include link elements with hreflang attribute to alternate language
URLs.
2020-07-29 11:48:29 +02:00
Carlton Gibson 50e1ccbbea Refs #27395 -- Added XML namespace declaration to sitemap template.
As per Google recommendations:
https://support.google.com/webmasters/answer/189077?hl=en
2020-07-29 11:48:29 +02:00
Florian Apolloner 948a874425
Fixed #29324 -- Made SECRET_KEY validation lazy (on first access). 2020-07-29 09:06:54 +02:00
Hasan Ramezani 9c9a3fe118 Fixed #31783 -- Fixed crash when filtering againts "negate" field.
Thanks Simon Charette for the initial patch.
2020-07-29 08:20:58 +02:00
sage 2d8dcba03a Fixed #31829 -- Used JSONField __contains lookup on key transforms. 2020-07-28 13:10:12 +02:00
Mariusz Felisiak ba691933ce
Fixed #31836 -- Dropped support for JSONField __contains and __contained_by lookups on SQLite.
The current implementation works only for basic examples without
supporting nested structures and doesn't follow "the general principle
that the contained object must match the containing object as to
structure and data contents, possibly after discarding some
non-matching array elements or object key/value pairs from the
containing object".
2020-07-28 13:06:52 +02:00
Florian Apolloner 7dbbe65647
Improved performance of STATIC_URL and MEDIA_URL setting access.
Run `add_script_prefix()` on first access, rather than on every time.
2020-07-28 12:52:28 +02:00
Mariusz Felisiak 02447fb133
Fixed #31835 -- Dropped support for JSONField __contains lookup on Oracle.
The current implementation works only for basic examples without
supporting nested structures and doesn't follow "the general principle
that the contained object must match the containing object as to
structure and data contents, possibly after discarding some
non-matching array elements or object key/value pairs from the
containing object".
2020-07-28 11:54:01 +02:00
Nick Pope 628c4a26ee Refs #27996 -- Doc'd no extension required for RandomUUID() on PostgreSQL 13+.
https://www.postgresql.org/docs/13/functions-uuid.html
https://www.postgresql.org/docs/13/pgcrypto.html#id-1.11.7.34.10.5
2020-07-28 07:21:16 +02:00
Jon Dufresne 83fbaa9231 Fixed #31806 -- Made validators include the value in ValidationErrors. 2020-07-27 13:03:26 +02:00
Jon Dufresne cc3d24d7d5 Removed redundant forms.DecimalField.validate() in favor of DecimalValidator. 2020-07-27 12:07:53 +02:00
Mariusz Felisiak f4e93919e4
Fixed #31815 -- Fixed schema value encoding on PostgreSQL. 2020-07-27 06:39:02 +02:00
Matthias Kestenholz c1f8d87bb0 Fixed #31812 -- Fixed FileField.model for fields defined in abstract models.
Regression in a93425a37f.
2020-07-24 11:06:57 +02:00
Parth Verma 41065cfed5 Fixed #31802 -- Added system check for non-integer SITE_ID. 2020-07-24 10:41:55 +02:00
Tom Forbes 80a8be03d9 Fixed #31765 -- Disabled bundled SQLite renaming atomic references on macOS 10.15. 2020-07-22 09:39:55 +02:00
Tim Graham ff55adbd0d
Reverted "Fixed #30300 -- Allowed migrations to be loaded from directories without __init__.py file."
This reverts commit 3cd3bebe89.
2020-07-22 07:04:06 +02:00
Aymeric Augustin 3f2821af6b
Fixed #31180 -- Configured applications automatically. 2020-07-21 10:35:12 +02:00
David Chorpash 6ec5eb5d74 Refs #31720 -- Defined default output_field of BoolAnd() and BoolOr() aggregate functions. 2020-07-21 06:42:51 +02:00
Jon Dufresne 796be5901a Fixed #31769 -- Improved default naming of merged migrations.
47 gives 60 in total (47 + 5 + 5 + 3).
2020-07-20 15:04:22 +02:00
Mariusz Felisiak 83f55aafdd
Fixed #17653 -- Allowed using zero as AutoFields value on MySQL if NO_AUTO_VALUE_ON_ZERO SQL mode is enabled. 2020-07-20 09:48:31 +02:00
Florian Apolloner 96a3ea39ef Fixed #31784 -- Fixed crash when sending emails on Python 3.6.11+, 3.7.8+, and 3.8.4+.
Fixed sending emails crash on email addresses with display names longer
then 75 chars on Python 3.6.11+, 3.7.8+, and 3.8.4+.

Wrapped display names were passed to email.headerregistry.Address()
what caused raising an exception because address parts cannot contain
CR or LF.

See https://bugs.python.org/issue39073

Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-07-20 07:10:40 +02:00
Ravindar Sharma 18d4eac7fc Fixed #31731 -- Removed unreachable code for resetting sequences of auto-created m2m tables in sequence_reset_sql().
Unreachable because f.remote_field.through is truthy for all m2m
fields.

Resetting sequences of auto-created m2m tables in sequence_reset_sql()
is also unnecessary:
 - in sqlsequencereset since c39ec6dccb
   because auto-created tables are included in model_list,
 - in loaddata because there is no it need to reset sequences for
   models not loaded directly.
 - in create_default_site() because it doesn't have m2m fields.
2020-07-17 08:16:32 +02:00
Tim Park 8fa9a6d29e Fixed #31623 -- Allowed specifying number of adjacent time units in timesince()/timeuntil(). 2020-07-16 09:44:28 +02:00