Hasan Ramezani
bc1c034076
Fixed #28280 -- Prevented numberformat.format() from formatting large/tiny floats in scientific notation.
2020-02-26 16:02:53 +01:00
aryan
fba5d3b6e6
Fixed #31289 -- Added hint for USERNAME_FIELD/REQUIRED_FIELDS system check.
2020-02-26 08:40:36 +01:00
Simon Charette
5637933268
Simplified handling of weights in SearchRank.
2020-02-26 08:16:22 +01:00
Simon Charette
1138ca4c57
Formalized SearchVector and SearchRank signatures.
2020-02-26 08:12:45 +01:00
Simon Charette
d0f1c03331
Refs #31211 -- Prevented SearchConfig nesting in SearchVector and SearchQuery init.
...
Passing a SearchConfig instance directly to SearchVector and
SearchQuery would result in nested SearchConfig instance.
2020-02-26 08:03:46 +01:00
Simon Charette
3d62ddb026
Refs #3254 -- Removed unnecessary truth check in SearchVectorExact.as_sql().
...
Direct usage of the @@ operator is perfectly allowed.
2020-02-26 07:51:19 +01:00
Ram Rachum
5b09354954
Fixed #31291 -- Renamed salt to mask for CSRF tokens.
2020-02-25 14:16:19 +01:00
Taoup
271fdab8b7
Fixed #31286 -- Made database specific fields checks databases aware.
...
Follow up to 0b83c8cc4d
.
2020-02-24 14:23:46 +01:00
Diederik van der Boor
84e35f4679
Fixed #31292 -- Fixed django.contrib.gis.gdal.gdal_full_version() crash.
2020-02-24 13:28:51 +01:00
Andrew Godwin
1e858adf7f
Refs #31224 -- Added BaseHandler.check_response().
2020-02-19 13:20:16 +01:00
Fabio Sangiovanni
b457068cf2
Fixed #31187 -- Fixed detecting of existing total ordering in admin changelist when using Meta.constraints.
...
Detection of existing total ordering in admin changelist now takes into
account non-partial unique constraints.
2020-02-19 09:36:23 +01:00
Mariusz Felisiak
d270c10a72
Refs #31187 -- Added total_unique_constraints property to model's Options.
2020-02-19 09:36:19 +01:00
Claude Paroz
4d973f5939
Refs #26601 -- Deprecated passing None as get_response arg to middleware classes.
...
This is the new contract since middleware refactoring in Django 1.10.
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-02-18 20:03:44 +01:00
Carlton Gibson
a34cb5a6d4
Refs #31282 -- Clarified M2O add/remove/set with PK behaviour.
...
Improved error message for remove() and added tests.
2020-02-18 19:54:29 +01:00
Mariusz Felisiak
2a038521c4
Fixed #31271 -- Preserved ordering when unifying query parameters on Oracle.
...
This caused misplacing parameters in logged SQL queries.
Regression in 79065b55a7
.
Thanks Hans Aarne Liblik for the report.
2020-02-18 11:45:12 +01:00
Taoup
cbb6531e5b
Fixed #31228 -- Reallowed aggregates to be used with multiple expressions and no DISTINCT on SQLite.
...
Regression in bc05547cd8
.
Thanks Andy Terra for the report.
2020-02-18 10:32:23 +01:00
Keshav Kumar
f37d548ede
Fixed #20995 -- Added support for iterables of template names to {% include %} template tag.
...
Thanks Adam Johnson for the review.
2020-02-18 06:56:05 +01:00
Xavier Francisco
8690878507
Fixed #31277 -- Relaxed system check of m2m intermediary tables for db_table collision when database routers are installed.
...
Turned the error into a warning when database routers are installed.
2020-02-17 13:53:45 +01:00
Matthijs Kooijman
98f23a8af0
Fixed #26552 -- Deferred constraint checks when reloading the database with data for tests.
...
deserialize_db_from_string() loads the full serialized database
contents, which might contain forward references and cycles. That
caused IntegrityError because constraints were checked immediately.
Now, it loads data in a transaction with constraint checks deferred
until the end of the transaction.
2020-02-14 13:18:06 +01:00
yura
54b7af7eb4
Fixed #31250 -- Ignored processing instructions in assertXMLEqual()/assertXMLNotEqual().
2020-02-13 11:03:54 +01:00
Hasan Ramezani
49275c5488
Fixed #30261 -- Prevented Form._html_output() from mutating errors if hidden fields have errors.
2020-02-13 08:12:44 +01:00
Claude Paroz
da4923ea87
Refs #27468 -- Made PasswordResetTokenGenerator use SHA-256 algorithm.
2020-02-12 21:46:56 +01:00
Abhijeet Viswa
1712a76b9d
Fixed #31246 -- Fixed locking models in QuerySet.select_for_update(of=()) for related fields and parent link fields with multi-table inheritance.
...
Partly regression in 0107e3d105
.
2020-02-11 20:43:57 +01:00
Florian Apolloner
41a3b3d186
Fixed #31240 -- Properly closed FileResponse when wsgi.file_wrapper is used.
...
Thanks to Oskar Persson for the report.
2020-02-11 20:39:12 +01:00
Florian Apolloner
549445519c
Reverted "Fixed #30565 -- Closed HttpResponse when wsgi.file_wrapper closes file-like object."
...
This reverts commit cce47ff65a
.
2020-02-11 20:39:12 +01:00
Jon Dufresne
e3f6e18513
Fixed #31253 -- Fixed data loss possibility when using caching from async code.
...
Case missed in a415ce70be
.
2020-02-11 09:09:25 +01:00
=Pratik Kumar
20ba3ce4ac
Fixed #30846 -- Made PostGIS backend respect Index's name argument.
2020-02-10 13:25:32 +01:00
Hannes Ljungberg
adcf1a7308
Fixed #31248 -- Added missing space before USING SQL on PostGIS.
2020-02-10 11:20:45 +01:00
Simon Charette
71756bdfed
Fixed #31055 -- Made constraint checks support databases aware.
2020-02-07 11:03:53 +01:00
Simon Charette
430e796980
Refs #31055 -- Made DiscoverRunner skip running system checks on unused test databases.
2020-02-07 11:01:31 +01:00
Simon Charette
0b83c8cc4d
Refs #31055 -- Added --database option to the check management command.
...
This avoids enabling the ``database`` checks unless they are explicitly
requested and allows to disable on a per-alias basis which is required
when only creating a subset of the test databases.
This also removes unnecessary BaseCommand._run_checks() hook.
2020-02-07 11:01:31 +01:00
Jon Dufresne
9cc743d0c8
Closed caches in clear_cache_handlers() signal handler.
...
This also fixes ResourceWarnings about unclosed sockets emitted in
cache.tests.
2020-02-07 08:03:25 +01:00
Jon Dufresne
3259983f56
Fixed #31233 -- Closed database connections and cursors after use.
2020-02-06 15:35:23 +01:00
Jon Dufresne
f48f671223
Refs #31233 -- Changed DatabaseWrapper._nodb_connection to _nodb_cursor().
...
It is now a method instead of a property and returns a context manager
that yields a cursor on entry and closes the cursor and connection upon
exit.
2020-02-06 15:29:38 +01:00
adamb70
4c6ab1f2aa
Fixed #28528 -- Allowed combining SearchVectors with different configs.
2020-02-06 07:52:50 +01:00
Adam Johnson
72b97a5b1e
Fixed #31232 -- Changed default SECURE_REFERRER_POLICY to 'same-origin'.
2020-02-05 14:39:01 +01:00
Hasan Ramezani
da79ee472d
Fixed #26813 -- Prevented empty choice in ModelChoiceField with RadioSelect for fields with blank=False.
2020-02-05 10:27:01 +01:00
Nick Pope
335c9c94ac
Simplified imports from django.db and django.contrib.gis.db.
2020-02-04 13:20:06 +01:00
Florian Apolloner
75daea2fc2
Refs #27604 -- Fixed loading of legacy cookie hashes when CookieStorage.key_salt is changed.
...
This partially reverts bcc9fa2528
to
not break legacy hashes when key_salt is actually changed.
2020-02-04 09:06:55 +01:00
Claude Paroz
8ae84156d6
Fixed #27604 -- Used the cookie signer to sign message cookies.
...
Co-authored-by: Craig Anderson <craiga@craiga.id.au>
2020-02-04 08:05:02 +01:00
Claude Paroz
bcc9fa2528
Refs #27604 -- Added CookieStorage.key_salt to allow customization.
2020-02-04 08:05:02 +01:00
Simon Charette
eb31d84532
Fixed CVE-2020-7471 -- Properly escaped StringAgg(delimiter) parameter.
2020-02-03 08:49:13 +01:00
Mariusz Felisiak
6b178a3e93
Fixed #31217 -- Made QuerySet.values()/values_list() group by not selected annotations with aggregations used in order_by().
...
Regression in 59b4e99dd0
.
Thanks Jon Dufresne for the report and Simon Charette for the review.
2020-02-03 07:48:11 +01:00
Claude Paroz
5dabb6002e
Updated translations from Transifex.
...
Forwardport of ca4f87027e
from stable/3.0.x
2020-01-31 20:59:10 +01:00
Adam Johnson
c1b24718e0
Cached ForeignObject.(local/foreign/reverse)_related_fields properties.
2020-01-31 14:07:52 +01:00
Claude Paroz
e7d62e97eb
Refs #22426 -- Removed pre-Django 1.5 messages compatibility code and test.
...
This reverts commit f286721f7f
.
2020-01-31 11:11:24 +01:00
Hasan Ramezani
a97111eabf
Fixed 31207 -- Prevented references to non-local remote fields in ForeignKey.to_field.
...
Thanks Simon Charette for the initial patch and review.
2020-01-31 10:19:12 +01:00
Matthias Kestenholz
4e8d89020c
Fixed #31219 -- Fixed object deletion crash for nested protected related objects.
2020-01-31 09:07:58 +01:00
Taoup
efc1c73bf5
Simplified DeferredAttribute.__get__() a bit.
2020-01-29 16:06:56 +01:00
Mariusz Felisiak
b7a3a6c9ef
Used model's Options.label/label_lower where applicable.
2020-01-29 12:09:20 +01:00
Nick Pope
fa6893e9db
Removed "Pocket PC" from terminal color support function.
...
Introduced over 13 years ago in 9bea530c33
, Pocket PC was surpassed by
Windows Mobile, then Windows Phone, which has since been retired. The
value "Pocket PC" isn't documented as a value for ``sys.platform`` and
it isn't clear whether it ever worked. There are no tests for this.
2020-01-29 09:37:08 +01:00
Hasan Ramezani
4ca5c565f4
Refs #27852 -- Fixed object deletion to show all restricted related objects rather than just the first one.
2020-01-29 09:02:23 +01:00
Mariusz Felisiak
2a6fc89018
Refs #27852 -- Renamed a loop variable in Collector.collect() to avoid redefinition.
2020-01-29 09:02:23 +01:00
Hannes Ljungberg
a69b6e006b
Fixed #31211 -- Added SearchConfig expression.
...
Thanks Simon Charette for the review.
2020-01-29 08:12:10 +01:00
Jon Dufresne
958977f662
Fixed #31212 -- Updated psycopg links to HTTPS and new location.
2020-01-29 06:25:40 +01:00
Hasan Ramezani
2633c5341e
Fixed #22261 -- Fixed resolving namespaced URLs for flatpages.
2020-01-28 13:14:23 +01:00
Hannes Ljungberg
7edd06a9cf
Improved SearchVectorCombinable and SearchQueryCombinable error messages.
2020-01-27 15:09:47 +01:00
Claude Paroz
50cf183d21
Refs #27468 -- Added algorithm parameter to django.utils.crypto.salted_hmac().
2020-01-27 12:42:21 +01:00
Hasan Ramezani
ab3cbd8b9a
Refs #27852 -- Fixed object deletion to show all protected related objects rather than just the first one.
...
Thanks Anton Samarchyan for the initial patch.
2020-01-27 12:21:02 +01:00
Claude Paroz
e348ab0d43
Fixed #30997 -- Deprecated HttpRequest.is_ajax().
2020-01-27 08:54:32 +01:00
Claude Paroz
7fa0fa45c5
Refs #30997 -- Removed HttpRequest.is_ajax() usage.
2020-01-27 08:52:40 +01:00
Hasan Ramezani
5d654e1e71
Refs #27888 -- Removed redundant {% if %} in admin changelist filters.
2020-01-24 20:31:09 +01:00
Claude Paroz
d66d72f956
Refs #30997 -- Added HttpRequest.accepts().
2020-01-24 14:24:59 +01:00
Hasan Ramezani
b94764e178
Fixed #27888 -- Added link to clear all filters in the admin changelist view.
2020-01-23 14:14:54 +01:00
Michael Mulholland
5a68a223c7
Fixed #31200 -- Added system checks for permissions codenames max length.
2020-01-23 12:22:59 +01:00
Sergey Fedoseev
486a8dae2d
Removed unused **kwargs from GEOSFuncFactory.__call__().
2020-01-22 15:40:39 +05:00
Sergey Fedoseev
7b77505bc9
Removed unused *args and **kwargs from GEOSFuncFactory.__init__().
...
Follow-up to ff17ef1ada
.
2020-01-22 15:19:34 +05:00
Sergey Fedoseev
a905891159
Removed unneeded int() call in GEOSCoordSeq.__len__().
2020-01-22 14:25:32 +05:00
Eugene Hatsko
0b013564ef
Fixed #31190 -- Fixed prefetch_related() crash for GenericForeignKey with custom ContentType foreign key.
...
Regression in dffa3e1992
.
2020-01-22 07:54:16 +01:00
Sergey Fedoseev
b753e0e750
Removed unused GEOSFuncFactory subclasses.
...
Unused since 2d18c60fbb
.
2020-01-21 22:54:22 +01:00
Sergey Fedoseev
f2a725fba3
Fixed #30274 -- Prevented segmentation fault on LineString iteration.
...
This reverts commit 138a78ec8c
and adds
a test for the regression.
2020-01-21 21:46:47 +01:00
Tim Graham
227d0c7365
Fixed #31183 -- Added a feature flag for "<db> only supports UNBOUNDED together with PRECEDING and FOLLOWING".
2020-01-20 20:03:35 +01:00
Jon Dufresne
26be703fe6
Changed re-raising an exception to use bare raise syntax where appropriate.
2020-01-20 11:44:28 +01:00
Sergey Fedoseev
a920c0b852
Fixed #31142 -- Fixed MakeValid.output_field when geometry type is changed.
...
Regression in 2ef4b4795e
.
2020-01-20 08:59:45 +01:00
Daniel Hahler
68e018010b
Optimized ModelAdmin._changeform_view() by avoiding multiple get_fieldsets() calls.
...
Co-authored-by: Hasan Ramezani <hasan.r67@gmail.com>
2020-01-17 16:00:04 +01:00
Ram Rachum
bf3e8227a9
Fixed #31166 -- Used "raise from" when raising ImproperlyConfigured exceptions in django.urls.resolvers.
...
This change sets the __cause__ attribute to raised exceptions and makes
small cleanups in error messages.
2020-01-17 11:44:22 +01:00
Pavel Lysak
13e4abf83e
Fixed #30752 -- Allowed using ExceptionReporter subclasses in error reports.
2020-01-16 15:25:49 +01:00
Mariusz Felisiak
266c853e10
Fixed #31162 -- Prevented error logs when using WKT strings in lookups.
...
Thanks dbxnr for the initial patch.
Regression in 6f44f714c9
.
2020-01-16 14:34:54 +01:00
Flavio Curella
d08d4f464a
Fixed #30765 -- Made cache_page decorator take precedence over max-age Cache-Control directive.
2020-01-16 13:39:16 +01:00
Adam Johnson
1e0dcd6c8b
Used constant instead of hard-coded value for recursive relationship.
2020-01-16 08:34:58 +01:00
Mariusz Felisiak
bf77669453
Fixed #29998 -- Allowed multiple OneToOneFields to the parent model.
...
We assumed that any OneToOneField's in a child model must be the
parent link and raised an error when parent_link=True was not
specified. This patch allows to specify multiple OneToOneField's to
the parent model.
OneToOneField's without a custom related_name will raise fields.E304
and fields.E305 so this should warn users when they try to override
the auto-created OneToOneField.
2020-01-16 08:06:16 +01:00
Carlton Gibson
29c126bb34
Fixed #31124 -- Fixed setting of get_FOO_display() when overriding inherited choices.
...
Regression in 2d38eb0ab9
2020-01-15 15:35:22 +01:00
Mariusz Felisiak
c5e373d48c
Fixed obsolete comment in django.utils.crypto.salted_hmac().
...
Obsolete since 13864703bc
.
2020-01-15 12:53:21 +01:00
Mariusz Felisiak
59b4e99dd0
Refs #31136 -- Made QuerySet.values()/values_list() group only by selected annotation.
...
Regression in 0f843fdd5b
.
2020-01-15 09:32:42 +01:00
chetan22
63e6ee1f99
Fixed #29871 -- Allowed setting pk=None on a child model to create a copy.
...
Thanks Simon Charette and Tim Graham for the initial patch.
2020-01-15 08:28:30 +01:00
Daniel Hahler
4fe486520f
Fixed <span> nesting in technical 500 template.
2020-01-14 10:08:27 +01:00
Owen T. Heisler
77d335e5ab
Fixed #31160 -- Fixed admin CSS for ordered lists' descendants in unordered list.
2020-01-13 09:13:33 +01:00
Carlton Gibson
1f4b9f4f1f
Removed unused ExceptionReporterFilter class.
...
Unused since 8f8c54f70b
.
2020-01-11 20:18:38 +01:00
Mariusz Felisiak
6f7998adc7
Fixed #31155 -- Fixed a system check for the longest choice when a named group contains only non-string values.
...
Regression in b6251956b6
.
Thanks Murat Guchetl for the report.
2020-01-11 19:47:36 +01:00
Adam Donaghy
8b3e714ecf
Fixed #30980 -- Improved error message when checking uniqueness of admin actions' __name__.
...
Thanks Keshav Kumar for the initial patch.
2020-01-10 14:00:28 +01:00
Carlton Gibson
e2d9d66a22
Fixed #23004 -- Added request.META filtering to SafeExceptionReporterFilter.
...
Co-authored-by: Ryan Castner <castner.rr@gmail.com>
2020-01-10 11:35:41 +01:00
Carlton Gibson
581ba5a948
Refs #23004 -- Allowed exception reporter filters to customize settings filtering.
...
Thanks to Tim Graham for the original implementation idea.
Co-authored-by: Daniel Maxson <dmaxson@ccpgames.com>
2020-01-10 11:21:23 +01:00
Adam Johnson
5166097d7c
Fixed #31154 -- Added support for using enumeration types in templates.
...
Enumeration helpers are callables, so the template system tried to call
them with no arguments.
Thanks Rupert Baker for helping discover this.
2020-01-10 07:52:06 +01:00
Jack Cushman
eb629f4c02
Fixed #30995 -- Allowed converter.to_url() to raise ValueError to indicate no match.
2020-01-09 14:41:41 +01:00
Hasan Ramezani
eef3ea847e
Fixed #31148 -- Added error messages on update()/delete() operations following union(), intersection(), and difference().
2020-01-09 12:20:54 +01:00
Hasan Ramezani
f600e3fad6
Fixed #21238 -- Fixed restoring attributes when pickling FileField and ImageField.
2020-01-09 09:37:59 +01:00
Mike Yusko
0707ff6d36
Renamed set_language()'s next variable to avoid clash with builtin.
2020-01-09 07:54:18 +01:00
Claude Paroz
6686238cdc
Refs #23919 -- Removed obsolete comment in signing.py
2020-01-08 17:50:29 +01:00
Shubham singh
ffcf1a8ebf
Fixed #31118 -- Made FileInput to avoid the required attribute when initial data exists.
2020-01-08 09:15:31 +01:00
Mariusz Felisiak
53d8646f79
Fixed #31141 -- Relaxed system check of translation settings for sublanguages.
...
Regression in 4400d8296d
.
Thanks Enrique Matías Sánchez for the report.
2020-01-08 08:05:43 +01:00
Taoup
979f61abd3
Simplified model's Options.add_field() a bit.
2020-01-07 11:58:06 +01:00
Claude Paroz
188b003014
Fixed #15982 -- Added DATE_INPUT_FORMATS to forms.DateTimeField default input formats.
2020-01-07 11:08:40 +01:00
Adam Johnson
2ea3fb3e63
Removed "Don't do that" from docs and error messages.
...
It's slightly aggressive and doesn't explain itself.
2020-01-06 13:50:43 +01:00
Claude Paroz
1487f16f2d
Fixed #11385 -- Made forms.DateTimeField accept ISO 8601 date inputs.
...
Thanks José Padilla for the initial patch, and Carlton Gibson for the
review.
2020-01-06 10:52:09 +01:00
Mariusz Felisiak
0f843fdd5b
Fixed #31136 -- Disabled grouping by aliases on QuerySet.values()/values_list().
...
Regression in fb3f034f1c
.
Thanks Sigurd Ljødal for the report.
2020-01-04 20:49:11 +01:00
Simon Charette
9bcbcd599a
Fixed #31133 -- Fixed crash when subtracting against a subquery annotation.
...
The subtract_temporals() database operation was not handling expressions
returning SQL params in mixed database types.
Regression in 3543129822
.
Thanks Reupen Shah for the report.
2020-01-03 10:35:08 +01:00
Federico Jaramillo Martínez
372eaa395f
Fixed #28991 -- Added EmptyFieldListFilter class in admin.filters.
...
Thanks Simon Charette and Carlton Gibson for reviews.
Co-Authored-By: Jonas Haag <jonas@lophus.org>
Co-Authored-By: Christophe Baldy <christophe.baldy@polyconseil.fr>
2020-01-03 07:58:04 +01:00
Patrick Seebauer
e3d546a1d9
Fixed #31128 -- Fixed TemplateSyntaxError in simple_tag() and inclusion_tag() for kwargs.
2020-01-02 10:44:07 +01:00
David Wobrock
2f565f84ac
Fixed #31097 -- Fixed crash of ArrayAgg and StringAgg with filter when used in Subquery.
2019-12-31 10:35:43 +01:00
Sjbrgsn
b2bd08bb7a
Fixed #30892 -- Fixed slugify() and admin's URLify.js for "İ".
...
Thanks Luis Nell for the implementation idea and very detailed report.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-12-30 20:47:22 +01:00
Farhaan Bukhsh
cf5d4701dc
Fixed #30819 -- Fixed year determination in admin calendar widget for two-digit years.
...
Two-digit years in the range of [00, 68] are in the current century,
while [69,99] are in the previous century, according to the Open Group
Specification.
2019-12-30 13:06:29 +01:00
Aldian Fazrihady
550357771b
Refs #30819 -- Prioritized the date format with four-digit year for the Indonesian (id) locale.
2019-12-30 13:06:29 +01:00
Simon Charette
5779cc938a
Fixed #31071 -- Disabled insert optimization for primary keys with defaults when loading fixtures.
...
Model.save_base() is called directly when loading fixtures and assumes
existing rows will be updated. Branching of "raw" allows to maintain
the optimization introduced in #29260 while supporting this edge case.
Regression in 85458e94e3
.
Thanks Reupen Shah for the report.
2019-12-30 07:49:10 +01:00
Jon Dufresne
e42b68debf
Fixed #31114 -- Fixed HttpRequest.build_absolute_uri() crash with reverse_lazy() locations.
2019-12-27 09:19:56 +01:00
leollon
fef2636f28
Fixed typo in django/utils/termcolors.py docstring.
2019-12-27 07:49:15 +01:00
Mariusz Felisiak
22ce5d0031
Fixed #31106 -- Fixed migrations crash on PostgreSQL 10+ when adding FK constraints inline and changing data.
...
This allows adding foreign key constraints inline and changing data in
the same migration on PostgreSQL 10+.
Regression in 738faf9da2
.
Thanks Janne Rönkkö for the report and Simon Charette for the
implementation idea and review.
2019-12-23 23:28:59 +01:00
Jon Dufresne
67ea35df52
Fixed #30998 -- Added ModelChoiceIteratorValue to pass the model instance to ChoiceWidget.create_option().
2019-12-23 10:34:50 +01:00
Simon Charette
720de4d044
Fixed #31109 -- Disabled grouping by aliases on QuerySet.exists().
...
Clearing the SELECT clause in Query.has_results was orphaning GROUP BY
references to it.
Thanks Thierry Bastian for the report and Baptiste Mispelon for the
bisect.
Regression in fb3f034f1c
.
2019-12-23 09:24:03 +01:00
Hasan Ramezani
a3fc24f014
Fixed #31095 -- Made RelatedManager.set() preserve existing m2m relations with an invalid type.
2019-12-19 13:33:05 +01:00
Simon Charette
5a4d7285bd
Fixed #31094 -- Included columns referenced by subqueries in GROUP BY on aggregations.
...
Thanks Johannes Hoppe for the report.
Regression in fb3f034f1c
.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-12-19 10:04:56 +01:00
Mike Hansen
35d36d9462
Refs #30585 -- Updated project templates and tests to use (block)translate tags.
2019-12-18 13:15:38 +01:00
Mike Hansen
d291c72bf2
Fixed #30585 -- Added {% translate %} and {% blocktranslate %} template tags.
2019-12-18 13:15:38 +01:00
Simon Charette
5b1fbcef7a
Fixed CVE-2019-19844 -- Used verified user email for password reset requests.
...
Co-Authored-By: Florian Apolloner <florian@apolloner.eu>
2019-12-18 09:11:39 +01:00
Shubham singh
f4647179cc
Fixed #31086 -- Improved error message for admin model inlines with more than one foreign key to the same parent.
2019-12-17 09:15:01 +01:00
James Turk
ff00a05347
Fixed #31088 -- Added support for websearch searching in SearchQuery.
2019-12-16 14:59:59 +01:00
Ram Rachum
972d93a95e
Optimized containment check in ChoicesMeta.
2019-12-16 11:22:45 +01:00
Zeynel Özdemir
9d40b6bbf4
Fixed #31076 -- Fixed dbshell crash on Windows with Python < 3.8.
...
subprocess.run()'s args parameter accepts path-like objects on Windows
since Python 3.8.
2019-12-16 11:20:41 +01:00
Rabah Saadi
5b7450080f
Added Algerian Arabic language.
2019-12-14 16:26:31 +01:00
Baptiste Mispelon
738e9e615d
Fixed #26743 -- Fixed UnboundLocalError crash when deserializing m2m fields and value isn't iterable.
2019-12-13 11:38:09 +01:00
Osaetin Daniel
b33bfc3839
Fixed #30862 -- Allowed setting SameSite cookies flags to 'none'.
...
Thanks Florian Apolloner and Carlton Gibson for reviews.
2019-12-12 10:52:31 +01:00
Jon Dufresne
b7d05b2e5a
Refs #23919 -- Used yield from in inspectdb.
2019-12-12 10:51:46 +01:00
Sergey Fedoseev
88637064b3
Refs #28373 -- Stopped setting tzinfo in typecast_timestamp().
...
Unnecessary since cef3f2d3c6
. When
USE_TZ=True, conn_tznames is always passed to methods that use
typecast_timestamp(). Therefore, it can return naive datetimes.
2019-12-11 13:59:49 +01:00
Jon Dufresne
e703b93a65
Fixed #31080 -- Removed redundant type="text/javascript" attribute from <script> tags.
2019-12-11 09:49:54 +01:00
Baptiste Mispelon
d8e2333528
Fixed #31077 -- Made debug decorators raise TypeError if they're not called.
...
Django will raise an error if you forget to call the decorator.
2019-12-10 13:34:28 +01:00
Peter Andersen
02eff7ef60
Fixed #31073 -- Prevented CheckboxInput.get_context() from mutating attrs.
2019-12-10 12:27:50 +01:00
Baptiste Mispelon
09341856ed
Used Signature API instead of deprecated inspect.getcallargs().
...
inspect.getcallargs() was deprecated in Python 3.5 and the Signature
API (PEP 362) has better support for decorated functions (by default,
it follows the __wrapped__ attribute set by functools.wraps for
example).
2019-12-10 09:36:34 +01:00
Baptiste Mispelon
3df3c5e670
Fixed #26480 -- Fixed crash of contrib.auth.authenticate() on decorated authenticate() methods of authentication backends.
...
The Signature API (PEP 362) has better support for decorated functions
(by default, it follows the __wrapped__ attribute set by
functools.wraps for example).
2019-12-10 09:36:30 +01:00
Baptiste Mispelon
23af086665
Used full module import for inspect in template/base.py.
2019-12-10 08:29:30 +01:00
Mariusz Felisiak
d6505273cd
Refs #31044 -- Fixed error message when using Prefetch with a values_list() queryset.
2019-12-09 15:45:53 +01:00
Hasan Ramezani
4540842bc3
Fixed #31044 -- Errored nicely when using Prefetch with a raw() queryset.
2019-12-09 15:45:18 +01:00
Baptiste Mispelon
9e565386d3
Fixed #27430 -- Added -b/--buffer option to DiscoverRunner.
2019-12-09 13:47:12 +01:00
exploit19
d8ab2c9bba
Fixed #31066 -- Added a docstring to main() function in manage.py template.
2019-12-09 07:54:51 +01:00
Alex Aktsipetrov
723fc7fcf6
Made Query.check_filterable() use bool by default instead of str.
2019-12-06 13:52:36 +01:00
Alex Aktsipetrov
bf12273db4
Fixed #31060 -- Reallowed window expressions to be used in conditions outside of queryset filters.
...
Regression in 4edad1ddf6
.
Thanks utapyngo for the report.
2019-12-06 13:52:16 +01:00
Jon Dufresne
5708327c37
Fixed #23433 -- Deprecated django-admin.py entry point in favor of django-admin.
...
Unify on the entry point created by setuptools entry_points feature.
2019-12-06 12:11:44 +01:00
Mariusz Felisiak
82a88d2f48
Fixed #31061 -- Ignored positional args in django.urls.resolve() when all optional named parameters are missing.
...
Regression in 76b993a117
.
Thanks Claude Paroz for the report and Carlton Gibson for reviews.
2019-12-06 09:32:51 +01:00
Baptiste Mispelon
f138e75910
Fixed outdated import in django/utils/safestring.py.
...
The backported version of functools.wraps was removed in
13864703bc
.
2019-12-06 09:31:33 +01:00
Hasan Ramezani
5d674eac87
Fixed #31039 -- Added support for contained_by lookup with AutoFields, SmallIntegerField, and DecimalField.
2019-12-05 15:50:39 +01:00
Hasan Ramezani
664521c56a
Refs #31039 -- Removed unnecessary registration of contained_by lookup for BigIntegerField.
...
It's already registered for IntegerField.
2019-12-05 15:02:18 +01:00
Gordon Pendleton
adb9661789
Fixed #31010 -- Allowed subdomains of localhost in the Host header by default when DEBUG=True.
2019-12-05 09:44:45 +01:00
Aymeric Augustin
c06492dd87
Fixed #23524 -- Allowed DATABASES['TIME_ZONE'] option on PostgreSQL.
2019-12-04 18:22:08 +01:00
Aymeric Augustin
ad88524e4d
Refs #23524 -- Unified BaseDatabaseWrapper.timezone.
...
There was a special case in this property to return None when the
database backend supports time zone. However, only the PostgreSQL
backend supports time zones and it never uses this property.
2019-12-04 18:07:51 +01:00
Jon Dufresne
2540c5f08c
Removed unnecessary dict.get() call in favor of direct indexing.
...
The 'TEST' key is always set to a dictionary in ConnectionHandler.
2019-12-04 11:34:06 +01:00
Baptiste Mispelon
26cab4e8c1
Fixed #31046 -- Allowed RelatedManager.add()/create()/set() to accept callable values in through_defaults.
2019-12-03 19:47:38 +01:00
Baptiste Mispelon
c50839fccf
Simplified RelatedManager._add_items() a bit.
...
Added early return in RelatedManager._add_items() to decrease an
indentation level.
2019-12-03 19:47:32 +01:00
Baptiste Mispelon
6c0341f127
Refs #31046 -- Added django.db.models.utils.resolve_callables().
2019-12-03 19:47:32 +01:00
Andrew Godwin
c90ab30fa1
Fixed #31056 -- Allowed disabling async-unsafe check with an environment variable.
2019-12-03 17:29:31 +01:00
Jon Dufresne
65285d1e7d
Refs #29892 -- Made Selenium tests wait for popups to be ready.
2019-12-02 15:06:36 +01:00
Carlton Gibson
6376278a90
Updated contrib translations from Transifex.
...
Forward port of 4afa0e5d2a
from stable/3.0.x
2019-12-02 11:25:23 +01:00
Carlton Gibson
c92cca8914
Updated core translations from Transifex.
...
Forward port of 71ec95345c
from stable/3.0.x
2019-12-02 11:24:40 +01:00
Carlton Gibson
11c5e0609b
Fixed CVE-2019-19118 -- Required edit permissions on parent model for editable inlines in admin.
...
Thank you to Shen Ying for reporting this issue.
2019-12-02 08:56:08 +01:00
Mariusz Felisiak
0107e3d105
Fixed #30953 -- Made select_for_update() lock queryset's model when using "self" with multi-table inheritance.
...
Thanks Abhijeet Viswa for the report and initial patch.
2019-12-02 07:57:19 +01:00
Baptiste Mispelon
f47ba7e780
Fixed #30255 -- Fixed admindocs errors when rendering docstrings without leading newlines.
...
Used inspect.cleandoc() which implements PEP-257 instead of an internal
hook.
2019-11-29 12:47:42 +01:00
Mariusz Felisiak
e8fcdaad5c
Fixed #31021 -- Fixed proxy model permissions data migration crash with a multiple databases setup.
...
Regression in 98296f86b3
.
2019-11-29 08:23:01 +01:00
Jon Dufresne
86a0231e0a
Refs #23919 -- Replaced super(...) with super() in metaclasses.
2019-11-28 15:34:29 +01:00
Jon Dufresne
46a0edc3ba
Fixed #31028 -- Used classList API to check, add and remove DOM classes.
...
Thanks to Claude Paroz for review.
2019-11-28 15:21:37 +01:00
Jon Dufresne
c8bd37a860
Fixed #31042 -- Removed AdminSeleniumTestCase.get_css_value() in favor of Selenium .is_displayed().
...
All instances of AdminSeleniumTestCase.get_css_value() were used to
inspect the display property.
2019-11-28 15:10:13 +01:00
Johannes Hoppe
249a6190ae
Fixed #30975 -- Replaced custom get_select_option with Selenium's select_by_value.
2019-11-27 16:34:07 +01:00
Johannes Hoppe
69dbb6b708
Fixed #30973 -- Converted selenium tests wait_page_loaded to context manager.
2019-11-27 14:36:26 +01:00
Hasan Ramezani
8d32290279
Fixed #30425 -- Handled jinja2.TemplateSyntaxError when rendering a template.
...
Jinja raises jinja2.TemplateSyntaxError in render() not in
get_template() when it's in an included template.
2019-11-27 12:48:07 +01:00
Farhaan Bukhsh
1f817daa20
Fixed #30803 -- Allowed comma separators for milliseconds in django.utils.dateparse functions.
...
Co-Authored-By: Ben Wilber <benwilber@gmail.com>
2019-11-27 09:43:12 +01:00
Farhaan Bukhsh
42b23d1e79
Refs #30803 -- Allowed comma separators for decimal fractions in parse_duration().
2019-11-27 09:43:12 +01:00
Jon Dufresne
cab3661832
Fixed #31027 -- Replaced .getAttribute()/.setAttribute() usage with DOM properties.
2019-11-27 07:53:04 +01:00
Baptiste Mispelon
52936eface
Fixed #31031 -- Fixed data loss in admin changelist view when formset's prefix contains regex special chars.
...
Regression in b18650a263
.
2019-11-26 08:48:10 +01:00
Johannes Hoppe
ef93fd4683
Fixed #31013 -- Removed jQuery usage in SelectBox.js.
2019-11-25 13:35:20 +01:00
Simon Charette
0290e01d5a
Fixed #31002 -- Fixed GIS lookups crash against a subquery annotation.
...
Thanks Vasileios Bouzas for the report.
2019-11-25 12:30:33 +01:00
John Bowen
29d8198841
Fixed #27914 -- Fixed serialization of nested classes in migrations.
2019-11-25 11:12:44 +01:00
Baptiste Mispelon
824981b2dc
Removed unused unencoded_ampersands_re regex.
...
Unused since 8b81dee60c
.
2019-11-25 09:01:31 +01:00
Sergey Fedoseev
a5855c8f0f
Fixed #30996 -- Added AsWKB and AsWKT GIS functions.
2019-11-22 13:40:48 +01:00
Baptiste Mispelon
8929afb8ec
Fixed #9762 -- Made DateFormat.r() locale-independent.
...
Thanks to Antonio Melé for the original report all those years ago
and to all the contributors who helped along the way.
2019-11-22 12:41:53 +01:00
Baptiste Mispelon
76ec032712
Refs #26281 -- Added a helpful error message for an invalid "r" specifier to dateformat.format().
2019-11-22 12:32:30 +01:00
Simon Charette
379bf1a2d4
Fixed #8467 -- Prevented crash when adding existent m2m relation with an invalid type.
...
This was an issue anymore on backends that allows conflicts to be
ignored (Refs #19544 ) as long the provided values were coercible to the
expected type. However on the remaining backends that don't support
this feature, namely Oracle, this could still result in an
IntegrityError.
By attempting to coerce the provided values to the expected types in
Python beforehand we allow the existing value set intersection in
ManyRelatedManager._get_missing_target_ids to prevent the problematic
insertion attempts.
Thanks Baptiste Mispelon for triaging this old ticket against the
current state of the master branch.
2019-11-22 09:08:10 +01:00
Carlton Gibson
ee4a19053a
Fixed #31012 -- Reverted "Fixed #29056 -- Fixed HTML5 validation of required SelectDateWidget."
...
This reverts commit f038214d91
.
The initial issue was incorrect. Django 2.2, and before, did not
generate invalid HTML as reported. With f03821 in place invalid HTML
was generated.
Thanks to Kevin Brown for follow-up report and investigation.
2019-11-21 20:53:31 +01:00
Farhaan Bukhsh
664c98f1f8
Fixed #30413 -- Fixed test database signature on SQLite when test database name is provided.
...
Previously, the same signature was created for multiple in-memory
databases on SQLite when they had tests databases names
DATABASES['TEST']['NAME'].
2019-11-21 19:50:24 +01:00
Jon Dufresne
62254c5202
Simplified TemplateDetailView with pathlib.Path.read_text().
2019-11-21 15:14:03 +01:00
Simon Charette
f97a6123c0
Refs #25367 -- Made Query.build_filter() raise TypeError on non-conditional expressions.
2019-11-21 11:56:35 +01:00
Simon Charette
e9a0e1d4f6
Fixed #30484 -- Added conditional expressions support to CheckConstraint.
2019-11-21 11:56:35 +01:00
Simon Charette
37e6c5b79b
Refs #25367 -- Moved conditional expression wrapping to the Exact lookup.
2019-11-21 11:56:35 +01:00
Simon Charette
306b687520
Refs #11964 -- Removed SimpleCol in favor of Query(alias_cols).
...
This prevent having to pass simple_col through multiple function calls
by defining whether or not references should be resolved with aliases
at the Query level.
2019-11-21 11:56:35 +01:00
Jon Dufresne
f5ebdfce5c
Fixed #25388 -- Added an option to allow disabling of migrations during test database creation.
2019-11-20 20:42:38 +01:00
Hasan Ramezani
0284a26af9
Fixed #30981 -- Fixed admin changelist crash when using F() or OrderBy() expressions in admin_order_field.
2019-11-19 15:40:04 +01:00
Daniel Izquierdo
89abecc75d
Fixed #27272 -- Added an on_delete RESTRICT handler to allow cascading deletions while protecting direct ones.
2019-11-19 10:55:05 +01:00
Daniel Izquierdo
4e1d809aa5
Refs #27272 -- Added Collector.add_dependency().
2019-11-19 10:49:47 +01:00
Caio Ariede
555bebe774
Fixed #30987 -- Added models.PositiveBigIntegerField.
2019-11-19 09:34:11 +01:00
Jon Dufresne
aa12cf07c9
Removed unnecessary numeric indexes in format strings.
2019-11-19 08:29:47 +01:00
Sergey Fedoseev
f95b59a1b3
Fixed #30994 -- Added Oracle support for AsGeoJSON GIS function.
2019-11-18 15:32:44 +01:00
Jon Dufresne
57a3d96ff5
Replaced unnecessary str()/bytes() calls with literals.
2019-11-18 15:30:10 +01:00
Jon Dufresne
e649d691f8
Removed unnecessary parentheses in various code.
2019-11-18 15:25:59 +01:00
Simon Charette
11e327a3ff
Fixed #30988 -- Deprecated the InvalidQuery exception.
...
It was barely documented without pointers at its defining location and
was abused to prevent misuse of the QuerySet field deferring feature.
2019-11-18 14:06:51 +01:00
Baptiste Mispelon
cbe4d6203f
Fixed #30989 -- Removed unimplemented B time format.
...
It's never been documented and has always raised a NotImplementedError.
2019-11-18 12:50:41 +01:00
Baptiste Mispelon
5e2839f320
Simplified DateFormat.W() and z().
2019-11-18 11:30:23 +01:00
Baptiste Mispelon
1185c6172b
Fixed #30990 -- Fixed example output in 'z' date format docs.
2019-11-18 11:30:20 +01:00
Simon Charette
3ca77e2b84
Replaced QueryWrapper single usage with RawSQL.
2019-11-18 10:45:24 +01:00
Mariusz Felisiak
8685e764ef
Fixed #30986 -- Fixed queryset crash when filtering against boolean RawSQL expressions on Oracle.
2019-11-18 08:50:09 +01:00
Hasan Ramezani
530dd193f2
Fixed #29808 -- Fixed initial migration detection when identifiers are case-insensitive.
...
Thanks Simon Charette for the review.
2019-11-15 09:01:30 +01:00
Hasan Ramezani
d0c86a1df4
Refs #29808 -- Optimized MigrationExecutor.detect_soft_applied().
...
Use set() for iterables used only for containment checks. Simplify
column checks O(n) instead of O(2n).
Thanks Simon Charette for an idea.
2019-11-15 08:05:26 +01:00
Dulmandakh
24b9f50823
Fixed #29916 -- Added lower_inc, lower_inf, upper_inc, and upper_inf lookups for RangeFields.
...
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-11-14 22:27:29 +01:00
daniel a rios
efc3e32d6d
Fixed #30759 -- Made cache.delete() return whether it succeeded.
...
Thanks Simon Charette for the review.
2019-11-14 11:14:11 +01:00
Mariusz Felisiak
6e99585c19
Fixed #30941 -- Reverted "Simplified AuthenticationMiddleware a bit."
...
This reverts commit 2f010795e6
.
2019-11-13 16:33:25 +01:00
George Marshall
8be79984dc
Fixed #30971 -- Prevented Query.resolve_lookup_value() from coercing list values to tuples.
...
Regression in 8a281aa7fe
.
2019-11-13 08:27:26 +01:00
Hasan Ramezani
4b78546ef1
Fixed #30405 -- Fixed source code mismatch crash in ExceptionReporter.
2019-11-12 11:31:12 +01:00
Hasan Ramezani
e8de188c06
Refs #30405 -- Added ExceptionReporter._get_source().
2019-11-12 09:44:23 +01:00
Hasan Ramezani
4cec3cc82a
Fixed #30977 -- Optimized PasswordResetForm.save() a bit.
...
Moved site variables assignment outside of the loop.
2019-11-11 10:40:04 +01:00
Hasan Ramezani
153c7956f8
Fixed #24858 -- Added support for get_FOO_display() to ArrayField and RangeFields.
...
_get_FIELD_display() crashed when Field.choices was unhashable.
2019-11-08 10:59:24 +01:00
Hannes Ljungberg
6d590bcf1f
Fixed #30961 -- Fixed spaces in columns list SQL generated for indexes.
2019-11-08 08:52:47 +01:00
Nick Pope
02983c5242
Fixed #30943 -- Added BloomIndex to django.contrib.postgres.
2019-11-07 11:23:53 +01:00
Jon Dufresne
26554cf5d1
Fixed #29983 -- Replaced os.path() with pathlib.Path in project template and docs.
...
Thanks Curtis Maloney for the original patch.
2019-11-07 11:11:27 +01:00
Jon Dufresne
77aa74cb70
Refs #29983 -- Added support for using pathlib.Path in all settings.
2019-11-07 10:26:22 +01:00
Mariusz Felisiak
4c45b627f8
Removed unused import of ACTION_CHECKBOX_NAME in django.contrib.admin.
...
Unused since e651b3095c
.
2019-11-06 12:49:42 +01:00
Jon Dufresne
fbbff7f808
Refs #29983 -- Added pathlib.Path support to the file email backend.
2019-11-06 09:33:07 +01:00
Jon Dufresne
edeec1247e
Passed strict=True to Path.resolve() to enforce that the path must exist.
2019-11-05 14:22:20 +01:00
Hasan Ramezani
47379d027b
Fixed #30095 -- Fixed system check for RangeField/ArrayField.choices with lists and tuples.
2019-11-05 11:48:44 +01:00
Hasan Ramezani
dc60597eb6
Refs #30095 -- Added Field._choices_is_value().
...
This allows fields classes to override the validation of choices'
values.
2019-11-05 11:48:44 +01:00
Mariusz Felisiak
a20ea33ca6
Fixed DatabaseFeatures.has_select_for_update_nowait on MariaDB 10.3+.
...
Thanks Kola Erinoso for the report.
2019-11-05 10:18:47 +01:00
Jon Dufresne
b9fe7f9294
Fixed #30947 -- Changed tuples to lists in model Meta options in django.contrib modules.
...
The Django "Model Meta options" docs provide examples and generally
point the reader to use lists for the unique_together and ordering
options. Follow our own advice for contrib models.
More generally, lists should be used for homogeneous sequences of
arbitrary lengths of which both unique_together and ordering are.
2019-11-05 08:16:31 +01:00
bedilbek
09a00c60bd
Added Uzbek locale formats.
2019-11-04 14:50:55 +01:00
Claude Paroz
6ccb1b68bc
Added Uzbek language.
2019-11-04 14:50:00 +01:00
Nick Pope
7286eaf681
Refs #13312 -- Simplified handling of nulls ordering on MySQL.
...
MySQL & MariaDB support the standard IS NULL and IS NOT NULL so
the same workaround used for NULLS FIRST and NULLS LAST that is
used for SQLite < 3.30.0 can be used.
Thanks Simon Charette for the discussion.
2019-11-04 14:47:58 +01:00
Jon Dufresne
607004f81a
Simplified consecutive calls to pathlib.Path.parent.
2019-11-04 09:59:34 +01:00
Carlton Gibson
2d38eb0ab9
Fixed #30931 -- Restored ability to override Model.get_FIELD_display().
...
Thanks Sergey Fedoseev for the implementation idea.
Regression in a68ea23101
.
2019-11-04 07:55:34 +01:00
Simon Charette
a699595fce
Refs #13312 -- Removed unnecessary IF wrapping in nulls_last handling on MySQL.
...
ISNULL function already returns 0 and 1 on MySQL.
2019-10-31 20:17:04 +01:00
Mariusz Felisiak
a9bd01d363
Refs #30095 -- Simplified Field._check_choices() a bit.
...
Using an internal is_value() hook to check whether Field.choices
is iterable is misleading.
2019-10-31 20:04:47 +01:00
Sky
3cf907c20c
Fixed #30761 -- Prevented floatformat filter from returning a negative zero.
2019-10-31 10:48:35 +01:00
Hasan Ramezani
17752003a8
Refs #28428 -- Made FileSystemStorage.save() to support pathlib.Path.
2019-10-31 09:06:05 +01:00
Simon Charette
377c7cb2f7
Refs #23576 -- Disabled MySQL multi-alias deletion path on MariaDB 10.3.2+.
2019-10-31 08:14:30 +01:00
Felipe Lee
c2c27867ef
Refs #20456 -- Moved initialization of HEAD method based on GET to the View.setup() for generic views.
...
This will ease unit testing of views since setup will essentially do
everything needed to set the view instance up (other than instantiating
it). Credit for idea goes to Vincent Prouillet.
2019-10-30 14:43:52 +01:00
Hasan Ramezani
6315a272c5
Refs #28428 -- Made filepath_to_uri() support pathlib.Path.
2019-10-30 13:13:15 +01:00
Sergey Fedoseev
2f010795e6
Simplified AuthenticationMiddleware a bit.
...
SimpleLazyObject already caches value in _wrapped.
2019-10-29 13:20:13 +01:00
Erwin Junge
a6cb8ec389
Fixed #30922 -- Fixed ModelAdmin.date_hierarchy queries with DST changes.
...
There was an issue where admin date_hierarchy didn't render last day of
a month in DST-switch month.
2019-10-29 11:21:03 +01:00
Hasan Ramezani
e3d0b4d550
Fixed #30899 -- Lazily compiled import time regular expressions.
2019-10-29 09:22:26 +01:00
Hasan Ramezani
39a34d4bf9
Refs #30899 -- Made _lazy_re_compile() support bytes.
2019-10-29 09:14:24 +01:00
Hasan Ramezani
c4cba148d8
Refs #30899 -- Moved _lazy_re_compile() to the django.utils.regex_helper.
2019-10-29 09:14:24 +01:00
Hasan Ramezani
52cb419072
Fixed #30918 -- Made timesince()/timeuntil() respect custom time strings for future and the same datetimes.
2019-10-28 12:28:18 +01:00
Pavel Dedik
711a7d4d50
Fixed #30907 -- Fixed SplitArrayField.has_changed() with removal of empty trailing values.
2019-10-28 10:32:34 +01:00
Pavel Dedik
bcfbb71c63
Refs #30907 -- Added SplitArrayField._remove_trailing_nulls() hook.
2019-10-28 10:32:09 +01:00
Sergey Fedoseev
6bbf9a20e2
Fixed #29770 -- Added LinearRing.is_counterclockwise property.
2019-10-25 14:28:26 +02:00
Carlton Gibson
24e540fbd7
Fixed #29087 -- Added delete buttons for unsaved admin inlines on validation error.
2019-10-25 13:28:08 +02:00
Carlton Gibson
6ea3aadd17
Refs #29087 -- Refactored admin inlines.js.
...
Split logic into separate functions to clarify and allow reuse.
2019-10-25 13:28:08 +02:00
Carlton Gibson
dbcd7b064e
Fixed #30902 -- Added __str__() for model choice enums.
...
Allows expected behavior when cast to str, also matching behaviour of
created instances with those fetched from the DB.
Thanks to Simon Charette, Nick Pope, and Shai Berger for reviews.
2019-10-25 09:19:56 +02:00
Nick Pope
55df1750be
Refs #30897 -- Added support for ANALYZE option to Queryset.explain() on MariaDB and MySQL 8.0.18+.
2019-10-24 15:13:26 +02:00
Nick Pope
742961332e
Refs #30897 -- Added support for TREE format to Queryset.explain() on MySQL 8.0.16+.
2019-10-24 15:13:23 +02:00
Simon Charette
7acef095d7
Fixed #23576 -- Implemented multi-alias fast-path deletion in MySQL backend.
...
This required moving the entirety of DELETE SQL generation to the
compiler where it should have been in the first place and implementing
a specialized compiler on MySQL/MariaDB.
The MySQL compiler relies on the "DELETE table FROM table JOIN" syntax
for queries spanning over multiple tables.
2019-10-24 12:24:53 +02:00
Mariusz Felisiak
e645f27907
Fixed DatabaseFeatures.update_can_self_select on MariaDB 10.3.2+.
2019-10-24 12:18:13 +02:00
Hannes Ljungberg
fa5f3291e7
Fixed #30903 -- Fixed migrations crash on PostgreSQL when adding Index with opclasses and ordering.
2019-10-24 09:33:14 +02:00
Nick Pope
6e9189c080
Refs #30897 -- Added test for SETTINGS option to Queryset.explain() on PostgreSQL 12+.
2019-10-23 14:07:18 +02:00
Dan Moore
bc94e3c1a2
Fixed #29919 -- Fixed RelatedOnlyFieldListFilter crash with reverse relationships.
2019-10-23 10:50:31 +02:00
Sergey Fedoseev
0315c18fe1
Refs #26601 -- Removed obsolete workarounds for MIDDLEWARE_CLASSES setting.
2019-10-23 08:18:48 +02:00
Sergey Fedoseev
909c59f290
Fixed typo in XViewMiddleware.process_view() docstring.
2019-10-22 14:30:52 +02:00
Sergey Fedoseev
af8dbbe0d5
Updated link to GEOS C API header.
2019-10-21 15:25:49 +02:00
Alex Aktsipetrov
681f7e2b13
Fixed #20577 -- Deferred filtering of prefetched related querysets.
...
Added internal interface to QuerySet that allows to defer next filter
call till .query is accessed. Used it to optimize prefetch_related().
Thanks Simon Charette for the review.
2019-10-21 13:21:54 +02:00
Alex Aktsipetrov
70d8146986
Adjusted QuerySet._filter_or_exclude() call to use negated=False, rather than None.
...
None was a remnant from the times _filter_or_exclude accepted
qtype/mapper as the first arg.
2019-10-21 12:45:17 +02:00
Ahmet Kucuk
09578f6dfb
Fixed #30827 -- Made batch_size arg of QuerySet.bulk_create() respect DatabaseOperations.bulk_batch_size().
...
Thanks Chetan Khanna for tests.
2019-10-21 11:46:44 +02:00
André Ericson
3120490912
Fixed #30876 -- Moved classproperty() decorator to the django.utils.functional.
2019-10-21 09:57:39 +02:00
André Ericson
31174031f1
Fixed #30841 -- Deprecated using non-boolean values for isnull lookup.
2019-10-21 08:44:20 +02:00
Pavel Savchenko
1711c509fa
Fixed #27391 -- Implemented SimpleTestCase.debug().
...
debug() should bubbled up exceptions if occurring in test, but behave
the same as run() when no exceptions occurred.
2019-10-18 12:22:51 +02:00
Patrick Jenkins
46e74a5256
Fixed #28337 -- Preserved extra headers of requests made with django.test.Client in assertRedirects().
...
Co-Authored-By: Hasan Ramezani <hasan.r67@gmail.com>
2019-10-18 08:42:51 +02:00
Mariusz Felisiak
3a8af298b9
Fixed #30890 -- Added MariaDB support for the relate lookup.
2019-10-18 07:46:31 +02:00
Hasan Ramezani
ef4beafa2c
Refs #28816 -- Prevented silencing data loss when decreasing CharField.max_length for ArrayField.base_field on PostgreSQL.
2019-10-17 12:50:53 +02:00
sage
6f82df69ef
Refs #12990 -- Moved CheckFieldDefaultMixin to the django.db.models.fields.mixins.
2019-10-17 12:30:29 +02:00
Mariusz Felisiak
187a64608d
Fixed #30885 -- Dropped support for MariaDB 10.1.
2019-10-16 18:40:48 +02:00
Mariusz Felisiak
4a849b6701
Fixed #30859 -- Fixed DatabaseFeatures.supports_aggregate_filter_clause on SQLite 3.30.1+.
2019-10-15 20:55:49 +02:00
Carlton Gibson
1de9a92295
Fixed #30872 -- Improved unknown command message when settings are manually configured.
2019-10-15 13:04:32 +02:00
Mariusz Felisiak
06d34aab7c
Fixed #30870 -- Fixed showing that RunPython operations are irreversible by migrate --plan.
...
Thanks Hasan Ramezani for the initial patch and Kyle Dickerson for the
report.
2019-10-14 11:13:27 +02:00
Simon Charette
2839659b42
Fixed #30868 -- Prevented unnecessary AlterField when renaming a referenced pk.
...
Regression introduced by dcdd219ee1
, refs #25817 .
Thanks Carlos E. C. Leite for the report and Mariusz for the bisect.
2019-10-14 08:02:26 +02:00
Etienne Chové
e7cdb0cd7e
Fixed #30014 -- Fixed ModelChoiceField validation when initial value is a model instance.
...
Thanks Carlton Gibson for reviews.
2019-10-11 13:28:09 +02:00
Louise Grandjonc
7d1bf29977
Fixed #30826 -- Fixed crash of many JSONField lookups when one hand side is key transform.
...
Regression in 6c3dfba892
.
2019-10-11 10:55:22 +02:00
Hasan Ramezani
6a75cea76a
Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations.
2019-10-11 08:10:48 +02:00
Hasan Ramezani
e1ae2b0050
Refs #30854 -- Moved local_setter() outside the loop in SQLCompiler.get_related_selections().
2019-10-11 08:07:07 +02:00
Flavio Curella
ed112fadc1
Fixed #23755 -- Added support for multiple field names in the no-cache Cache-Control directive to patch_cache_control().
...
https://tools.ietf.org/html/rfc7234#section-5.2.2.2
2019-10-10 19:30:51 +02:00
Viktor Lomakin
ee6b17187f
Fixed #30812 -- Made ConditionalGetMiddleware set ETag only for responses with non-empty content.
2019-10-10 09:51:05 +02:00
Benjy Weinberger
3cd3bebe89
Fixed #30300 -- Allowed migrations to be loaded from directories without __init__.py file.
2019-10-10 08:31:41 +02:00
Mariusz Felisiak
02c63b8f2f
Refs #26608 -- Fixed DatabaseFeatures.supports_frame_range_fixed_distance on SQLite 3.28+, MariaDB 10.2+, and MySQL 8.0.2+.
2019-10-09 13:07:50 +02:00
Simon Charette
8b10357854
Fixed #30860 -- Disabled unneeded NULLS FIRST/LAST workaround on SQLite 3.30+.
2019-10-09 10:47:49 +02:00
Simon Charette
26c66f4519
Fixed #30856 -- Combined fast-delete queries by model during cascade deletion.
...
Reduced the number of queries required when performing cascade deletion
for a model referenced multiple time by another one by performing an
union of reference lookups.
2019-10-09 09:49:53 +02:00
Simon Charette
44522d1036
Made Collector.collect() return immediately for disabled related collection.
2019-10-09 09:49:53 +02:00
Simon Charette
832aa08afe
Used defaultdict in deletion.Collector.
2019-10-09 09:49:27 +02:00
Alex Gaynor
04ac9b45a3
Improved performance of django.template.base.Parser.
...
pop(0), which is used to fetch each token, is O(n) in the length of the
list. By reversing the list and operating off the end, we can perform
next_token(), prepend_token(), and delete_first_token() in constant
time.
2019-10-09 08:33:16 +02:00
Hasan Ramezani
a28d1b38e5
Fixed #30839 -- Fixed Field.__deepcopy__() so forms don't share error messages.
2019-10-08 10:07:05 +02:00
Hasan Ramezani
6452112640
Refs #27914 -- Fixed serialization of nested enum.Enum classes in migrations.
2019-10-03 08:39:30 +02:00
Min ho Kim
103a6f4307
Fixed some typos in comments and docs.
...
Thanks to Mads Jenson for review.
2019-10-02 15:50:46 +02:00
Mariusz Felisiak
02ba48bc23
Removed redundant names in django.db.models.functions.__all__.
2019-10-02 13:07:14 +02:00
Anatol Ulrich
8ed6788aa4
Fixed #30821 -- Added ExtractIsoWeekYear database function and iso_week_day lookup.
2019-10-02 10:41:34 +02:00
Tanner Stirrat
17595407ca
Fixed #14218 -- Added Paginator.__iter__().
2019-10-02 09:49:31 +02:00
ElizabethU
54ea290e5b
Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons.
...
Changed __eq__ to return NotImplemented instead of False if compared to
an object of the same type, as is recommended by the Python data model
reference. Now these models can be compared to ANY (or other objects
with __eq__ overwritten) without returning False automatically.
2019-10-01 17:58:19 +02:00
Mariusz Felisiak
67e7dffe95
Fixed typo in BulkInsertMapper constant name.
2019-10-01 14:46:10 +02:00
Ahmet Kucuk
dc890bef5a
Fixed #30510 -- Fixed crash of QuerySet.bulk_create() with mixed-length texts on Oracle.
...
Text with more than 4000 characters must be set to as a CLOB on Oracle
what caused a mixed datatype error (ORA-01790) when shorter text
appeared in the same operation.
2019-10-01 12:38:58 +02:00
Ad Timmering
7b5f8acb9e
Fixed #28690 -- Fixed handling of two-digit years in parse_http_date().
...
Due to RFC7231 ayear that appears to be more than 50 years in the
future are interpreted as representing the past.
2019-09-30 14:42:56 +02:00
Hasan Ramezani
f0adf3b9b7
Fixed #30774 -- Made serialization in migrations use members names for Enums.
2019-09-30 10:28:05 +02:00
pablo
fa8fe09e4e
Fixed #30802 -- Prevented manifest creation when running collectstatic in dry run mode.
2019-09-27 23:01:41 +02:00
Hasan Ramezani
95a11578ce
Fixed #30798 -- Fixed Meta.ordering validation for pk of related fields.
...
Regression in 440505cb2c
.
2019-09-27 14:22:31 +02:00
Hasan Ramezani
c7944628a1
Refs #30798 -- Prevented chaining fields from the same related model multiple times in model Meta.ordering.
2019-09-27 13:57:22 +02:00
Oleg Kainov
c574bec092
Fixed #25598 -- Added SCRIPT_NAME prefix to STATIC_URL and MEDIA_URL set to relative paths.
...
Thanks Florian Apolloner for reviews.
Co-authored-by: Joel Dunham <Joel.Dunham@technicalsafetybc.ca>
2019-09-25 19:47:03 +02:00
Mariusz Felisiak
580e644f24
Fixed #30800 -- Fixed migrations crash when altering a field with custom db_type().
...
Regression in 1378d665a1
.
2019-09-25 12:32:24 +02:00
Mads Jensen
129583a0d3
Removed some outdated backwards compatibility imports and misleading comments.
...
EmptyResultSet moved in 46509cf13d
.
FieldDoesNotExist moved in 8958170755
.
BoundField and pretty_name moved in 8550161e53
.
EMPTY_VALUES moved in 471596fc1a
.
BaseRunserverCommand moved in 5c53e30607
.
2019-09-24 15:18:53 +02:00
Mariusz Felisiak
01104368ff
Refs #29444 -- Removed redundant DatabaseFeatures.can_return_multiple_columns_from_insert.
...
Unnecessary since b31e63879e
.
2019-09-24 10:37:22 +02:00
Johannes Hoppe
b31e63879e
Fixed #29444 -- Allowed returning multiple fields from INSERT statements on Oracle.
2019-09-24 10:22:43 +02:00
Simon Charette
37f8f29377
Fixed #30796 -- Prevented select_related() from mutating a queryset on chaining.
...
Thanks Darren Maki for the report.
2019-09-24 09:17:45 +02:00
Hasan Ramezani
f97bbad908
Fixed #13296 -- Fixed ordering by Options.order_with_respect_to after deleting objects.
...
Thanks Simon Meers for the original patch.
2019-09-23 11:20:37 +02:00
Ian Foote
d9881a025c
Fixed #29915 -- Added support for values with hyphens to pattern lookups for UUIDField on backends without UUID datatype.
...
Support hyphens in iexact, contains, icontains, startswith, istartswith,
endswith and iendswith UUIDField filters on backends without UUID
datatype.
2019-09-23 08:24:08 +02:00
Hasan Ramezani
226ebb1729
Fixed #28622 -- Allowed specifying password reset link expiration in seconds and deprecated PASSWORD_RESET_TIMEOUT_DAYS.
2019-09-20 13:52:04 +02:00
James Timmins
0719edcd5f
Fixed #30771 -- Fixed exact lookup against queries with selected columns.
...
Use pre-existing select fields (and thereby GROUP BY fields) from
subquery if they were specified, instead of always defaulting to pk.
Thanks Aur Saraf for the report and Simon Charette for guidance.
2019-09-20 10:42:14 +02:00
Andrew
3346b78a8a
Fixed #30786 -- Used CONVERT_TZ to check if the time zone definitions are installed on MySQL.
...
Replaced a timezone check in the MySQL backend with one that doesn't
require access to the mysql.time_zone database.
2019-09-20 08:17:27 +02:00
Daniel Fairhead
5cb3ed187b
Fixed #30772 -- Optimized make_template_fragment_key().
...
Removed usage of urllib.quote(), unnecessary since cbbe60c7fc
.
Used hasher's .update() on key fragments.
2019-09-18 14:53:05 +02:00
Sam Reynolds
6c9778a58e
Fixed #30776 -- Restored max length validation on AuthenticationForm.UsernameField.
...
Regression in 5ceaf14686
.
Thanks gopackgo90 for the report and Mariusz Felisiak for tests.
2019-09-18 11:37:38 +02:00
Min ho Kim
b1d6b35e14
Fixed #30725 -- Fixed width of DateTimeField inputs in admin tabular inline.
...
"width" of DateTimeField inputs in admin tabular inline wasn't set
correctly what caused displaying too small inputs with responsive CSS
when timezone warning wasn't present.
2019-09-17 14:30:33 +02:00
Nasir Hussain
faf4b988fe
Fixed #30758 -- Made RangeFields use multiple hidden inputs for initial data.
2019-09-17 12:08:49 +02:00
Hasan Ramezani
b9db423d3c
Fixed #29376 -- Allowed hiding "Save and Add Another" button in admin.
2019-09-16 11:37:09 +02:00
Simon Charette
6c3dfba892
Fixed #30769 -- Fixed a crash when filtering against a subquery JSON/HStoreField annotation.
...
This was a regression introduced by 7deeabc7c7
to address CVE-2019-14234.
Thanks Tim Kleinschmidt for the report and Mariusz for the tests.
2019-09-16 08:24:40 +02:00
Carlton Gibson
b5db65c4fb
Increased the default PBKDF2 iterations for Django 3.1.
2019-09-12 17:24:01 +02:00
Adnan Umer
241deed259
Fixed #30591 -- Fixed recreation of foreign key constraints on MySQL when altering type of referenced unique field.
...
Thanks Mariusz Felisiak for tests and Matthijs Kooijman for
investigation and initial patch.
2019-09-11 11:21:08 +02:00
Mads Jensen
b616908ce1
Used Statement in PostGISSchemaEditor._create_index_sql().
2019-09-11 07:51:31 +02:00
Mariusz Felisiak
9a2a12d415
Advanced deprecation warnings for Django 3.1.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
0ddb4ebf7b
Refs #14357 -- Made Meta.ordering not affect GROUP BY queries.
...
Per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
d17be88afd
Refs #30037 -- Required the RemoteUserBackend.configure_user() to have request as the first positional argument.
...
Per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
b61ea56789
Refs #28478 -- Removed support for TestCase's allow_database_queries and multi_db per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
f1894bae30
Refs #28606 -- Removed CachedStaticFilesStorage per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
81993b47ea
Refs #29703 -- Removed QuerySetPaginator alias per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
cb2be9d5d5
Refs #29546 -- Removed django.utils.timezone.FixedOffset per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
3d716467a9
Refs #29817 -- Removed settings.FILE_CHARSET per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
b47bb4c4a7
Refs #29598 -- Removed FloatRangeField per deprecation timeline.
2019-09-10 12:01:00 +02:00
Mariusz Felisiak
0f2f517298
Bumped version; master is now 3.1 pre-alpha.
2019-09-10 11:54:25 +02:00
Simon Charette
34decdebf1
Fixed #30754 -- Prevented inclusion of aliases in partial index conditions.
...
SQLite doesn't repoint table aliases in partial index conditions on table
rename which breaks the documented table alteration procedure.
Thanks Pēteris Caune for the report.
2019-09-10 10:03:16 +02:00
Vojtech Bocek
b1d37fea8f
Fixed #28107 -- Added DatabaseFeatures.allows_group_by_selected_pks_on_model() to allow enabling optimization for unmanaged models.
2019-09-09 14:04:46 +02:00
Nick Pope
406dba04e1
Fixed #29406 -- Added support for Referrer-Policy header.
...
Thanks to James Bennett for the initial implementation.
2019-09-09 13:35:41 +02:00
Johannes Hoppe
7254f1138d
Refs #29444 -- Allowed returning multiple fields from INSERT statements on PostgreSQL.
...
Thanks Florian Apolloner, Tim Graham, Simon Charette, Nick Pope, and
Mariusz Felisiak for reviews.
2019-09-09 10:51:14 +02:00
Johannes Hoppe
736e7d44de
Refs #29444 -- Fixed DateField constructor in db.backends.oracle.utils.InsertVar.
2019-09-09 10:51:07 +02:00
Nick Pope
b6251956b6
Fixed #30757 -- Added a system check to ensure max_length fits the longest choice.
2019-09-09 10:28:18 +02:00
Claude Paroz
05d0eca635
Fixed #30426 -- Changed X_FRAME_OPTIONS setting default to DENY.
2019-09-09 08:15:26 +02:00
Claude Paroz
5495ea3ae0
Updated translation catalogs
2019-09-08 17:35:32 +02:00
Mariusz Felisiak
addabc492b
Fixed DatabaseFeatures.can_introspect_check_constraints on MariaDB < 10.2.22, 10.3.0 - 10.3.9.
...
Regression in e2c6a0858d
.
2019-09-06 11:53:54 +02:00
Hasan Ramezani
6c379f1a18
Fixed #30763 -- Fixed management commands when using required mutually exclusive groups.
2019-09-06 10:55:24 +02:00
Mariusz Felisiak
e2c6a0858d
Fixed #30750 -- Added support for check constraints on MySQL 8.0.16+.
2019-09-05 09:18:34 +02:00
Shai Berger
72ebe85a26
Fixed #27910 -- Added enumeration helpers for use in Field.choices.
...
These classes can serve as a base class for user enums, supporting
translatable human-readable names, or names automatically inferred
from the enum member name.
Additional properties make it easy to access the list of names, values
and display labels.
Thanks to the following for ideas and reviews:
Carlton Gibson, Fran Hrženjak, Ian Foote, Mariusz Felisiak, Shai Berger.
Co-authored-by: Shai Berger <shai@platonix.com>
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-09-04 14:42:49 +02:00
Nasir Hussain
25706d7285
Fixed #29714 -- Allowed using ExceptionReporter subclass with AdminEmailHandler.
2019-09-04 08:40:46 +02:00
Viktor Lomakin
5931d2e96a
Fixed #30691 -- Made migrations autodetector find dependencies for foreign keys altering.
2019-09-03 14:45:49 +02:00
Johannes Hoppe
003bb34b21
Refs #29444 -- Made db.backends.oracle.utils.InsertVar use str as default.
2019-09-03 10:34:55 +02:00
Carlton Gibson
4f61810751
Fixed #30747 -- Renamed is_safe_url() to url_has_allowed_host_and_scheme().
2019-09-02 15:32:23 +02:00
Simon Charette
13a8884a08
Fixed #30739 -- Fixed exclusion of multi-valued lookup against outer rhs.
...
OuterRef right hand sides have to be nested, just like F rhs have to,
during the subquery pushdown split_exclude performs to ensure they are
resolved against the outer query aliases.
2019-09-02 10:52:36 +02:00
Simon Charette
600628f8f0
Refs #28442 -- Adjusted related lookups handling of expression rhs.
...
Expressions should never be prepared as other Lookup.get_prep_lookup
implementations hint at by returning early on the presence of the
resolve_expression attribute.
The previous solution was only handling lookups against related fields
pointing at AutoFields and would break for foreign keys to other fields.
It was also causing bidirectional coupling between model fields and
expressions which the method level import of OuterRef was a symptom of.
2019-09-02 10:52:36 +02:00
Nick Pope
999891bd80
Refs #29379 -- Moved autocomplete attribute to UsernameField.
...
Moving the autocomplete attribute into UsernameField allows this to work
for custom forms making use of UsernameField, removes some duplication
in the code, and keeps consistency with the autocapitalize attribute
that is already defined on UsernameField.
2019-09-02 10:50:56 +02:00