Commit Graph

17269 Commits

Author SHA1 Message Date
Guillermo Bonvehí f386454d13 Fixed #31728 -- Fixed cache culling when no key is found for deletion.
DatabaseCache._cull implementation could fail if no key was found to
perform a deletion in the table. This prevented the new cache key/value
from being correctly added.
2020-06-22 06:29:35 +02:00
David Smith 27c09043da Refs #31670 -- Renamed whitelist argument and attribute of EmailValidator. 2020-06-18 21:43:20 +02:00
Alix 26a413507a Fixed #6933 -- Added support for searching against quoted phrases in ModelAdmin.search_fields. 2020-06-18 20:17:20 +02:00
Tom Forbes 8a902b7ee6
Fixed #31716 -- Fixed detection of console scripts in autoreloader on Windows. 2020-06-18 13:04:10 +02:00
David Smith 10df5b7177
Refs #31670 -- Removed whitelist/blacklist terminology in docs and comments. 2020-06-17 13:15:56 +02:00
Hasan Ramezani 47651eadb8 Fixed #30583 -- Fixed handling JSONFields in XML serializer.
Co-authored-by: Chason Chaffin <chason@gmail.com>
2020-06-17 11:12:18 +02:00
Mariusz Felisiak 82da72b748
Refs #28077 -- Added opclasses to Index.__repr__().
This also removes unnecessary commas between attributes.
2020-06-17 10:32:43 +02:00
Florian Apolloner 1621f06051 Fixed #30472 -- Made Argon2PasswordHasher use Argon2id. 2020-06-17 08:10:41 +02:00
Florian Apolloner faad809e09 Refs #30472 -- Simplified Argon2PasswordHasher with argon2-cffi 19.1+ API. 2020-06-17 08:10:41 +02:00
Mariusz Felisiak 78c811334c
Refs #30190 -- Minor edits to JSONL serializer.
Follow up to e29637681b.
2020-06-17 07:59:40 +02:00
Ali Vakilzade e29637681b
Fixed #30190 -- Added JSONL serializer. 2020-06-16 16:51:58 +02:00
Simon Charette ea3beb4f5a Refs #30446 -- Defined default output_field of text database functions.
This prevented the default behavior of
BaseExpression._resolve_output_field from error'ing out when such
functions accepted both expressions from mixed types
(e.g. SubStr(CharField, IntegerField, IntegerField)).
2020-06-16 10:08:02 +02:00
Hannes Ljungberg 0d6d4e78b1 Fixed #31709 -- Added support for opclasses in ExclusionConstraint. 2020-06-16 08:16:14 +02:00
Hannes Ljungberg 7edc6e53a7 Fixed #31702 -- Added support for PostgreSQL opclasses in UniqueConstraint. 2020-06-16 07:19:00 +02:00
Sultan 6b25d24a57
Fixed #31706 -- Removed unnecessary getattr() call in FileDescriptor.__get__().
refresh_from_db() loads fields values.
2020-06-15 07:26:49 +02:00
John Parton a8473b4d34 Fixed #31691 -- Added ordering support to JSONBAgg. 2020-06-13 00:06:29 +02:00
Hannes Ljungberg e0cdd0fcf5 Fixed #31649 -- Added support for covering exclusion constraints on PostgreSQL 12+. 2020-06-12 23:23:21 +02:00
Claude Paroz db8268bce6 Added support for the Tajik language.
Thanks Sirius Sufiew for contributing that support.
2020-06-12 17:47:22 +02:00
Hasan Ramezani 9e8edc1e55 Fixed #31491 -- Allowed 'password' option in DATABASES['OPTIONS'] on MySQL. 2020-06-12 12:07:43 +02:00
Chinmoy Chakraborty 2928019e0c Fixed #31645 -- Enhanced the migration warning for migrate commmand.
Added the list of apps with changes not reflected in migrations.
2020-06-12 10:26:06 +02:00
Mariusz Felisiak aeb8996a67 Fixed #31659 -- Made ExpressionWrapper preserve output_field for combined expressions.
Regression in df32fd42b8.

Thanks Simon Charette for the review.
2020-06-12 07:20:06 +02:00
Adam Johnson 5776a1660e Fixed #31667 -- Made __in lookup ignore None values. 2020-06-11 12:12:26 +02:00
Michael Brown 36db4dd937 Fixed #28132 -- Made MultiPartParser ignore filenames with trailing slash. 2020-06-11 08:46:59 +02:00
alosultan 678c8dfee4 Fixed #31680 -- Removed unnecessary getattr() call in DeferredAttribute.__get__().
refresh_from_db() loads fields values.
2020-06-10 12:24:18 +02:00
SergBobrovsky 9bfa6a35f0
Removed unnecessary list() call in ModelBase.__new__().
Unnecessary since 58ad030d05.
2020-06-10 12:10:36 +02:00
Hasan Ramezani 037a624120 Fixed #31657 -- Fixed ordering by attnames of self-referential ForeignKeys. 2020-06-10 11:14:26 +02:00
Hasan Ramezani a59de6e89e Fixed #31675 -- Added warning to ExceptionReporter when exception chain has a cycle. 2020-06-10 09:23:33 +02:00
Tom Carrick 69a78a4a63
Fixed comment in django/contrib/auth/urls.py. 2020-06-10 08:39:09 +02:00
Joshua Massover 92309e53d9 Fixed #31594 -- Added ASGIStaticFilesHandler.get_response_async(). 2020-06-08 12:52:26 +02:00
David Smith 4652f1f0aa Fixed #31662 -- Added detection for GDAL 3.0 and 3.1 on Windows. 2020-06-08 09:23:29 +02:00
Nicolas Baccelli b38d44229f Fixed #31664 -- Reallowed using non-expressions having filterable attribute as rhs in queryset filters.
Regression in 4edad1ddf6.
2020-06-08 08:17:23 +02:00
Mariusz Felisiak 78ad4b4b02
Fixed #31660 -- Fixed queryset crash when grouping by m2o relation.
Regression in 3a941230c8.

Thanks Tomasz Szymański for the report.
2020-06-08 07:21:54 +02:00
davidchorpash 07506a6114 Fixed #31661 -- Removed period in makemigrations history check warning. 2020-06-08 06:46:23 +02:00
Sasha Pachev 38a21f2d9e
Fixed #31663 -- Made DecimalField.to_python() handle non-numeric invalid values. 2020-06-05 21:13:36 +02:00
David Smith 433dd737f9 Fixed #20347 -- Allowed customizing the maximum number of instantiated forms in formsets.
Co-authored-by: ethurgood <ethurgood@gmail.com>
2020-06-05 12:01:32 +02:00
Mariusz Felisiak 926148ef01
Fixed #31654 -- Fixed cache key validation messages. 2020-06-05 07:21:52 +02:00
Mariusz Felisiak f83b44075d Refs #30913 -- Added system checks for covering indexes and unique constraints support. 2020-06-04 12:26:25 +02:00
Hannes Ljungberg 8c7992f658 Fixed #30913 -- Added support for covering indexes on PostgreSQL 11+. 2020-06-04 12:26:22 +02:00
Jon Dufresne f997b5e6ae
Refs #5086 -- Removed unused only_django argument from sql_flush().
Unused (always True) since its introduction in 132605d889.
2020-06-04 11:59:47 +02:00
Adam Johnson fcdac3787d
Removed unused HTML class flex from admin changelist.
Unused since 233708fb68.
2020-06-04 11:25:19 +02:00
Claude Paroz 9e57b1efb5 Fixed #30134 -- Ensured unlocalized numbers are string representation in templates. 2020-06-04 10:34:54 +02:00
Tim Graham a7b4a04d6c Refs #31630 -- Added CharField and IntegerField to DatabaseFeatures.introspected_field_types.
CockroachDB introspects CharField as TextField and IntegerField as
BigIntegerField.
2020-06-04 08:46:06 +02:00
Tim Graham e24b63fe85 Refs #31630 -- Removed DatabaseFeatures.can_introspect_autofield. 2020-06-04 08:27:46 +02:00
Hasan Ramezani e198beadad Fixed #31630 -- Replaced introspection features with DatabaseFeatures.introspected_field_types. 2020-06-04 08:27:42 +02:00
David Smith dbdc192ca3 Preferred usage of among/while to amongst/whilst. 2020-06-03 21:02:48 +02:00
Collin Anderson 4ae9a2b18e Fixed #31641 -- Improved loading of navigation sidebar in admin. 2020-06-03 13:04:54 +02:00
Dan Palmer 2c82414914 Fixed CVE-2020-13254 -- Enforced cache key validation in memcached backends. 2020-06-03 09:24:26 +02:00
Jon Dufresne 2dd4d110c1 Fixed CVE-2020-13596 -- Fixed potential XSS in admin ForeignKeyRawIdWidget. 2020-06-03 09:23:00 +02:00
Mariusz Felisiak 7fc317ae73
Refs #30997 -- Improved HttpRequest.is_ajax() warning message with stacklevel=2. 2020-06-03 08:47:19 +02:00
Thodoris Sotiropoulos df32fd42b8 Fixed #31651 -- Made ExpressionWrapper use grouping columns from wrapped expression. 2020-06-03 07:29:41 +02:00
Adam Johnson 22a59c01c0 Refs #31615 -- Added EXISTS clauses to extension operations. 2020-06-03 07:02:48 +02:00
Carles Pina e46c2326c8 Fixed #31536 -- Fixed rendering of disabled AdminFileWidget and ClearableFileInput. 2020-06-01 12:25:25 +02:00
René Fleschenberg 578b3046e3 Reverted "Refs #23919 -- Removed obsolete __init__.py files in management command directories."
This reverts commit ccc25bfe4f.

https://groups.google.com/d/topic/django-developers/GVHMH2ciAnk/discussion
2020-06-01 10:55:41 +02:00
Carlton Gibson dd1ca50b09 Fixed #31570 -- Corrected translation loading for apps providing territorial language variants with different plural equations.
Regression in e3e48b0012.

Thanks to Shai Berger for report, reproduce and suggested fix.
2020-06-01 08:38:54 +02:00
Claude Paroz bd4e409695 Made intword/intcomma template filters independent of USE_L10N. 2020-06-01 07:27:08 +02:00
Simon Charette f8ef5f2c86
Refs #21171 -- Made Collector.delete() rollback in the correct database.
Regression in c7dd8490b882b2cefdc7faf431dc64c532b79c9.
2020-05-29 10:24:37 +02:00
David Smith 0382ecfe02 Fixed #28694 -- Made django.utils.text.slugify() strip dashes and underscores. 2020-05-29 06:47:51 +02:00
David Smith 3111b434e7 Corrected slugify()'s docstring. 2020-05-29 06:42:03 +02:00
Jon Dufresne 3bc4240d97 Removed unused admin:jsi18n <script> element from change_password.html.
The view does not contain any other JavaScript and therefore does not
have any user facing JavaScript strings to translate. Avoid the HTTP
request.
2020-05-28 15:21:47 +02:00
Mariusz Felisiak d94a9aa055
Refs #31040, Refs #31224 -- Prevented cycles in exceptions chain.
Async exception handling was raising an exception that was creating a
cycle in the exception chain (by re-raising an exception in
sync_to_async that was already being handled).

Thanks Chris Jerdonek for detailed analysis.
2020-05-28 13:05:15 +02:00
Adam Johnson fa58450a9a Fixed #31468 -- Allowed specifying migration filename in Operation.
This adds also suggested filename for many built-in operations.
2020-05-28 11:42:53 +02:00
Tom Carrick 780473d756 Refs #31034 -- Improved accessibility of admin navigation sidebar. 2020-05-28 10:16:20 +02:00
Scott Cranfill 62f1655a64 Fixed #11157 -- Stopped removing stop words in admin's prepopulated_fields.
Co-Authored-By: Andy Chosak <andy@chosak.org>
2020-05-27 12:32:56 +02:00
Frantisek Holop d693a086de Fixed #31615 -- Made migrations skip extension operations if not needed.
- Don't try to create an existing extension.
- Don't try to drop a nonexistent extension.
2020-05-27 10:48:44 +02:00
Ahmad A. Hussein 7c947f0f5a Fixed #31494 -- Preserved query strings when following HTTP 307/308 redirects in test client. 2020-05-27 10:36:52 +02:00
Ryan Heard 587b179d41 Fixed #31606 -- Allowed using condition with lookups in When() expression. 2020-05-27 07:32:23 +02:00
Laurent Tramoy 2aac176e86 Fixed #31614 -- Fixed aliases ordering by OrderBy() expressions of combined queryset. 2020-05-26 21:14:45 +02:00
Nan Liu 33c365781a Fixed #31416 -- Made autodetector find dependencies for MTI model creation on base fields removal.
Removing a base field must take place before adding a new inherited
model that has a field with the same name.
2020-05-26 07:26:07 +02:00
Hasan Ramezani 18759b2209 Fixed #31616 -- Added hint about middleware ordering for SessionMiddleware admin check. 2020-05-25 21:14:32 +02:00
Claude Paroz adf58311b8 Fixed #29078 -- Made serializers respect prefetch_related() for m2m fields. 2020-05-25 10:45:16 +02:00
Simon Charette 972000420e Fixed #31624 -- Avoided subquery usage on QuerySet.all().delete().
Thanks Adam Johnson for the report.

Regression in 7acef095d7.
2020-05-25 08:14:49 +02:00
Jon Dufresne 437196da9a
Refs #31534 -- Improved django.conf.urls.url() warning message with stacklevel=2.
Use stacklevel=2 to show the calling site.
2020-05-23 18:17:31 +02:00
Jon Dufresne dfb9ae1d23 Refs #30400 -- Improved typography in admin_doc/missing_docutils.html. 2020-05-23 12:02:10 +02:00
Hasan Ramezani c60524c658 Fixed #31546 -- Allowed specifying list of tags in Command.requires_system_checks. 2020-05-21 12:34:54 +02:00
Manuel Weitzman a4e6030904 Fixed #30375 -- Added FOR NO KEY UPDATE support to QuerySet.select_for_update() on PostgreSQL. 2020-05-21 10:51:10 +02:00
Fran Hrzenjak 4484bc1b2f Fixed #31597, #31603 -- Corrected admin clear all filters link behavior.
- Show "Clear all filters" only when any filter is selected.
- Preserve query string not related with filters.

Co-Authored-By: Hasan Ramezani <hasan.r67@gmail.com>
2020-05-20 21:08:47 +02:00
Claude Paroz 3460ea49e8
Added Kyrgyz language.
Thanks Soyuzbek orozbek uulu for contributing that support.
2020-05-20 12:29:59 +02:00
Hasan Ramezani 3c7bf39e23 Fixed #31410 -- Added system checks for invalid model field names in UniqueConstraint. 2020-05-20 10:56:55 +02:00
Mariusz Felisiak a125da6a7c Fixed #31607 -- Fixed evaluated Subquery equality.
Regression in 691def10a0.
2020-05-19 22:44:57 +02:00
Mariusz Felisiak 20a8a443f0
Fixed #31578 -- Dropped support for MySQL 5.6. 2020-05-19 10:56:39 +02:00
wtkm11 9756c33429 Fixed #31504 -- Allowed calling makemigrations without an active database connection. 2020-05-19 10:24:23 +02:00
Jon Dufresne 7070d46114 Updated docutils link to HTTPS and new location. 2020-05-18 08:45:31 +02:00
Tim Graham f59a2b7306
Refs #12990 -- Added DatabaseFeatures.has_json_operators.
CockroachDB also has them.
2020-05-18 08:12:20 +02:00
Jon Dufresne e46f700e39 Refs #31034 -- Used === in nav_sidebar.js admin JS to avoid possible coercion issues. 2020-05-18 07:42:44 +02:00
Simon Charette 3cf80d3fcf Fixed #31395 -- Made setUpTestData enforce in-memory data isolation.
Since it's introduction in Django 1.8 setUpTestData has been suffering
from a documented but confusing caveat due to its sharing of attributes
assigned during its execution with all test instances.

By keeping track of class attributes assigned during the setUpTestData
phase its possible to ensure only deep copies are provided to test
instances on attribute retreival and prevent manual setUp gymnastic to
work around the previous lack of in-memory data isolation.

Thanks Adam Johnson for the extensive review.
2020-05-15 20:22:52 +02:00
Paolo Melchiorre 0e3b0da2e3 Fixed #31552 -- Added support for LZMA and XZ fixtures to loaddata. 2020-05-15 11:30:28 +02:00
kjpc-tech 099bce1bf0 Fixed #31590 -- Fixed ModelAdmin.date_hierarchy crash with an empty QuerySet.
Regression in 55cdf6c52d.
2020-05-15 06:35:10 +02:00
Jon Dufresne 81ffedaacc Fixed #31524 -- Removed minified static assets from the admin. 2020-05-14 16:07:56 +02:00
Mariusz Felisiak 3a941230c8
Fixed #31584 -- Fixed crash when chaining values()/values_list() after Exists() annotation and aggregation on Oracle.
Oracle requires the EXISTS expression to be wrapped in a CASE WHEN in
the GROUP BY clause.

Regression in efa1908f66.
2020-05-14 15:07:08 +02:00
Jon Dufresne d522b51c40 Fixed #31575 -- Added system check for admin sidebar request context processor dependency.
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2020-05-14 11:00:51 +02:00
Simon Charette adfbf653dc Fixed #31568 -- Fixed alias reference when aggregating over multiple subqueries.
691def10a0 made all Subquery() instances
equal to each other which broke aggregation subquery pushdown which
relied on object equality to determine which alias it should select.

Subquery.__eq__() will be fixed in an another commit but
Query.rewrite_cols() should haved used object identity from the start.

Refs #30727, #30188.

Thanks Makina Corpus for the report.
2020-05-14 09:31:15 +02:00
Simon Charette 42c08ee465 Fixed #31566 -- Fixed aliases crash when chaining values()/values_list() after annotate() with aggregations and subqueries.
Subquery annotation references must be resolved if they are excluded
from the GROUP BY clause by a following .values() call.

Regression in fb3f034f1c.

Thanks Makina Corpus for the report.
2020-05-14 08:16:16 +02:00
Mariusz Felisiak e536fa5ce1
Fixed #31579 -- Dropped support for PostgreSQL 9.5 and PostGIS 2.2. 2020-05-14 06:33:00 +02:00
Jon Dufresne 0a627dbe73
Removed unused Downcoder.chars.
Unused -- other than as a local variable -- since its introduction in
953badbea5
2020-05-13 21:07:14 +02:00
Hasan Ramezani 01a381cc17
Fixed #31580 -- Added error messages on distinct() following union(), intersection(), and difference(). 2020-05-13 14:44:10 +02:00
Claude Paroz d4c5ef3ebb Renamed PROJ.4 to PROJ. 2020-05-13 10:30:30 +02:00
François Freitag 7cd88b3fec
Updated logging calls to use arguments instead of string interpolation. 2020-05-13 09:12:18 +02:00
Mariusz Felisiak f2187a227f Increased the default PBKDF2 iterations for Django 3.2. 2020-05-13 09:07:51 +02:00
Mariusz Felisiak d106d07f73 Advanced deprecation warnings for Django 3.2. 2020-05-13 09:07:51 +02:00
Mariusz Felisiak 6b9b2af735 Bumped version; master is now 3.2 pre-alpha. 2020-05-13 09:07:51 +02:00
Sergey Fedoseev 91e287cce0
Refs #30678 -- Added support for GDAL 3.1.
OSRSetAxisMappingStrategy() really returns void, so no errcheck is
needed. Previously set errcheck was raising positive false exceptions
on GDAL 3.1.
2020-05-12 11:25:19 +02:00
Claude Paroz 58f1b07e49 Fixed #30678 -- Added support for GDAL 3. 2020-05-12 09:06:06 +02:00
Mariusz Felisiak 0668164b4a
Fixed E128, E741 flake8 warnings. 2020-05-12 08:52:23 +02:00
Claude Paroz e6ec76d245
Updated JS admin translation catalog. 2020-05-11 22:59:27 +02:00
Claude Paroz 33f26339b7
Updated source translation catalogs. 2020-05-11 21:34:46 +02:00
Tom Carrick 46fe506445 Corrected indentation of #main div in admin base template. 2020-05-11 18:16:38 +02:00
Tom Carrick d24ba1be7a Fixed #31034 -- Added a navigation sidebar to the admin.
Co-authored-by: elky <elky@users.noreply.github.com>
Co-authored-by: Goetz <goetz.buerkle@gmail.com>
2020-05-11 18:16:38 +02:00
Jon Dufresne d6aff369ad Refs #30116 -- Simplified regex match group access with Match.__getitem__().
The method has been available since Python 3.6. The shorter syntax is
also marginally faster.
2020-05-11 12:01:28 +02:00
Sergey Fedoseev 23f6fbdd93
Simplified GDAL version parsing. 2020-05-11 11:57:22 +02:00
Adam Johnson a8b2db1cae Optimized Model and QuerySet pickling version comparison. 2020-05-11 09:50:11 +02:00
Jon Dufresne 72a170b4c3 Fixed #25236 -- Deprecated {% ifequal %} and {% ifnotequal %} template tags.
The {% if %} tag provides all features of these tags.

Since Django 1.2 (May 17, 2010), the docs have hinted that
{% ifequal %} and {% ifnotequal %} will be deprecated in a future
Django version. Time to make it official.
2020-05-11 09:07:33 +02:00
Yash Saini ccb1cfb64e Fixed #31548 -- Fixed URLValidator crash on non-strings. 2020-05-08 20:53:05 +02:00
Hasan Ramezani 87faeee4e0 Fixed #31528 -- Made collectstatic management command run staticfiles checks. 2020-05-08 12:47:57 +02:00
Mariusz Felisiak b23e3a1caa Refs #27661 -- Added Tags.staticfiles.
Follow up to 0ec4dc91e0.
2020-05-08 11:38:18 +02:00
dbxnr fc0f7f6c15 Fixed #31157 -- Fixed displaying read-only JSONField values in admin. 2020-05-08 09:44:42 +02:00
sage 6789ded0a6 Fixed #12990, Refs #27694 -- Added JSONField model field.
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael
Michel for mentoring this Google Summer of Code 2019 project and
everyone else who helped with the patch.

Special thanks to Mads Jensen, Nick Pope, and Simon Charette for
extensive reviews.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-05-08 07:23:31 +02:00
Mariusz Felisiak f97f71f592 Refs #12990 -- Bumped mysqlclient requirement to >= 1.4.0.
MySQLdb.constants.FIELD_TYPE.JSON was added in mysqlclient 1.4.0rc2.
2020-05-08 06:14:42 +02:00
Jon Dufresne 6137ec2bf2
Changed selected attribute to HTML5 boolean syntax in SelectBox.js.
Per MDN, HTMLOptionElement.selected is a Boolean attribute.
2020-05-08 06:02:42 +02:00
Jon Dufresne 3c5a586ce9 Fixed #31542 -- Simplified admin JavaScript with "for … of" statements. 2020-05-07 18:09:32 +02:00
Carlton Gibson 92507bf3ea Fixed #31515 -- Made ASGIHandler dispatch lifecycle signals with thread sensitive. 2020-05-06 09:42:02 +02:00
Jon Dufresne b2ef3d7157 Simplified Widget.get_context() a bit. 2020-05-06 06:46:58 +02:00
Adam Johnson 1c2c6f1b51
Fixed a/an typos in "SQL" usage. 2020-05-06 06:35:26 +02:00
Mariusz Felisiak aff7a58aef
Updated admin's Select2 to 4.0.13. 2020-05-05 11:30:02 +02:00
Mariusz Felisiak 30083e0780 Fixed #31485 -- Updated admin's jQuery to 3.5.1. 2020-05-05 11:00:05 +02:00
Mariusz Felisiak b73e66e758
Fixed #31538 -- Fixed Meta.ordering validation lookups that are not transforms.
Regression in 440505cb2c.

Thanks Simon Meers for the report.
2020-05-05 09:08:29 +02:00
Chris Burchhardt d2b9a9fdbb Refs #28622 -- Corrected PASSWORD_RESET_TIMEOUT/PASSWORD_RESET_TIMEOUT_DAYS docs.
Removed outdated note about an extra day in PASSWORD_RESET_TIMEOUT
docs and incorrect "minimum" phrase.
2020-05-05 08:19:25 +02:00
David Smith 2522559d1a Fixed #31534 -- Deprecated django.conf.urls.url(). 2020-05-05 07:34:34 +02:00
Jon Dufresne f2051eb8a7
Removed invalid value from admin CSS.
The keyword value 'none' is not a valid value for padding-bottom.
2020-05-05 07:01:06 +02:00
Adam Johnson d17b380653 Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and comments. 2020-05-04 12:10:47 +02:00
Tom Forbes c00bc27945 Refs #30372 -- Stopped watching built-in Django translation files by auto-reloader. 2020-05-04 09:13:47 +02:00
Nick Pope 8f10ceaa90 Changed `'%s' % value` pattern to `str(value)`. 2020-05-04 08:27:18 +02:00
François Freitag e0998a460a Optimized collectstatic when verbosity is 0.
Avoid the dict lookup and length computation when command is not run in
verbose mode.
2020-05-02 20:36:14 +02:00
Mariusz Felisiak 909b5cd1aa Refs #31032 -- Removed obsolete CSS workaround for IE in openlayers template. 2020-05-02 14:31:20 +02:00
Ian Foote b4068bc656 Fixed #31455 -- Added support for deferrable exclusion constraints on PostgreSQL. 2020-05-01 09:08:36 +02:00
Jon Dufresne e972752504
Removed unused CSS in admin.
.system-message, .system-message-title are unused since their
introduction in ce0d0cd9e2.
.float-right, .float-left, .align-left, .align-right, and .example are
unused since 6eb4f25692.
2020-05-01 07:00:00 +02:00
Jon Dufresne 448cdde935
Removed CSS workarounds for IE7 in admin. 2020-05-01 06:33:24 +02:00
Jon Dufresne 29e35b9a3e
Refs #31032 -- Removed unnecessary vendor prefixes from admin CSS.
The CSS properties have been standardized and are available in all
supported browsers.
2020-05-01 06:26:36 +02:00
Adrian D'Alessandro 235b681351 Doc'd send_email() behavior when from_email is None. 2020-04-30 12:45:43 +02:00
Ian Foote c226c6cb32 Fixed #20581 -- Added support for deferrable unique constraints. 2020-04-30 10:43:50 +02:00
Mariusz Felisiak 54646a423b
Refs #27468 -- Made user sessions use SHA-256 algorithm. 2020-04-29 16:45:00 +02:00
Jon Dufresne 5869afe32b Removed unnecessary &nbsp; entities from the admin.
Normal spaces are fine when used as a single spaced separation. For
larger spacing, CSS is used.
2020-04-29 11:40:24 +02:00
Jon Dufresne 7271c8def4 Refs #31493 -- Changed IIFE to ES6 blocks. 2020-04-29 10:22:41 +02:00
Jon Dufresne 5d37cc703b Fixed #31493 -- Replaced var with const and let keywords in JavaScript.
The eslint configuration and the admin script compress.py have been
updated for ES6.

The unused fallback of globals.django in jquery.init.js was removed. It
is always included before jsi18n-mocks.test.js and it always sets the
global value.
2020-04-29 10:22:41 +02:00
Jon Dufresne 0dafadadb9 Refs #30400 -- Improved typography of user facing strings in admin changelist. 2020-04-29 07:01:46 +02:00
Hasan Ramezani 68fc21b378 Fixed #29249 -- Made JSON and YAML serializers use Unicode by default. 2020-04-28 11:11:39 +02:00
François Freitag 9ef4a18dbe Changed django.forms.ValidationError imports to django.core.exceptions.ValidationError.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-04-28 10:49:00 +02:00
Richard Campen 67b334fbaf Fixed #31517 -- Fixed HashedFilesMixin.hashed_name() if hash of the file is None. 2020-04-28 08:25:07 +02:00
François Freitag 35f89d199c Merge stdout.write() calls in squashmigrations. 2020-04-28 06:32:43 +02:00
François Freitag 71d9876e39 Refs #18325 -- Removed unnecessary line endings in management commands.
The OutputWrapper automatically adds \n when it’s not present.
2020-04-27 10:10:36 +02:00
François Freitag abea86f9e4 Removed unnecessary tuple wrapping of single format string argument. 2020-04-27 08:30:16 +02:00
Tim Schilling a92cc84b4a Refs #31369 -- Deprecated models.NullBooleanField in favor of BooleanField(null=True). 2020-04-24 10:10:45 +02:00
Hannes Ljungberg 104493311e Refs #30913 -- Added BaseDatabaseSchemaEditor._index_condition_sql(). 2020-04-24 07:10:26 +02:00
David Wobrock 533b208775 Fixed #29224 -- Fixed removing index_together indexes if exists unique_together constraint on the same fields. 2020-04-23 12:28:51 +02:00
Hannes Ljungberg 447980e72a Fixed #31500 -- Fixed detecting of unique fields in QuerySet.in_bulk() when using Meta.constraints.
Detection of unique fields now takes into account non-partial unique
constraints.
2020-04-23 08:07:08 +02:00
Adam Johnson 67f9d076cf
Avoided unnecessary recompilation of ordering clause regex in SQLCompiler. 2020-04-22 20:28:01 +02:00
Jon Dufresne f48a1990fb
Made compress.py script use the official google-closure-compiler release.
The script previously used the PyPI package closure, which is slightly
out of date and not maintained by Google.

The JavaScript contribution docs and the compress.py script now runs the
google-closure-compiler package in the recommended way. Google's
documentation on usage and installation can be found at:

https://github.com/google/closure-compiler-npm/tree/master/packages/google-closure-compiler#usage

This also makes the usage simpler as the package now runs through npm's
npx utility, which will automatically install google-closure-compiler to
a per-user cache.
2020-04-22 16:19:27 +02:00
Jon Dufresne f27482f147 Fixed #31483 -- Rewrote change_form.js without jQuery.
The use of $(document).ready() was removed. The script is loaded at the
end of the document. Therefore, the referenced DOM elements are already
available and the script does not need to wait for the full DOM to be
ready before continuing.

Now that the script has no external dependencies, it can be loaded
asynchronously. As such, the async attribute was added to the script
element.
2020-04-22 15:44:55 +02:00
Jon Dufresne a8bb53dbd2 Refs #31483 -- Removed CSS and JavaScript for unused HTML class add-another.
The HTML class was removed in 07988744b3.
As such, the CSS and JavaScript is unused.
2020-04-22 15:44:55 +02:00
Mariusz Felisiak fb9b1c245d
Updated admin's XRegExp to 3.2.0. 2020-04-22 08:45:14 +02:00
Simon Charette 06889d6206 Fixed #31499 -- Stored ModelState.fields into a dict.
This allows the removal of its O(n) .get_field_by_name method and many
other awkward access patterns.

While fields were initially stored in a list to preserve the initial
model definiton field ordering the auto-detector doesn't take field
ordering into account and no operations exists to reorder fields of a
model.

This makes the preservation of the field ordering completely superflous
because field reorganization after the creation of the model state
wouldn't be taken into account.
2020-04-22 07:10:00 +02:00
Simon Charette 696024fb73 Refs #31499 -- Ignored field ordering to determine ModelState equality. 2020-04-22 06:20:54 +02:00
Jon Dufresne 0f2885e3f6
Simplified collapse.js with Element.closest(). 2020-04-22 06:13:58 +02:00
Mariusz Felisiak 150c3d13a6 Refs #29983 -- Fixed displaying pathlib.Path database name in flush command's inputs. 2020-04-21 12:08:25 +02:00
Jon Dufresne 75866b93cc Fixed #31479 -- Added support to reset sequences on SQLite. 2020-04-21 10:41:47 +02:00
Simon Charette 5220ca8d8a Refs #30591 -- Adjusted table rebuild for non-pk relationship on SQLite.
The existing code was only accounting for primary key changes and not
all unique key fields that can be referenced.
2020-04-21 08:37:47 +02:00
Simon Charette a548280857 Fixed #31064 -- Recreated auto-created many-to-many tables on primary key data type change on SQLite.
Both local and remote auto-created many-to-many relationships were
affected.
2020-04-21 08:37:40 +02:00
Simon Charette 330c0ed7c4 Stopped rebuilding referenced tables multiple times on SQLite alterations. 2020-04-20 13:13:57 +02:00
Jon Dufresne 505fec6bad Capitalized Unicode in docs, strings, and comments. 2020-04-20 12:10:33 +02:00
Hasan Ramezani 35a67b3731 Fixed #31474 -- Made QuerySet.delete() not return the number of deleted objects if it's zero. 2020-04-20 09:51:54 +02:00
Jon Dufresne 5673d4b102
Fixed #31477 -- Removed "using" argument from DatabaseOperations.execute_sql_flush(). 2020-04-20 07:49:35 +02:00
Jon Dufresne 661e39c8d5 Fixed #24559 -- Made MigrationLoader.load_disk() catch more specific ModuleNotFoundError.
Avoids inspecting the exception message, which is not considered a
stable API and can change across Python versions.

ModuleNotFoundError was introduced in Python 3.6. It is a subclass of
ImportError that is raised when the imported module does not exist. It
is not raised for other errors that can occur during an import. This
exception instance has the property "name" which holds the name of
module that failed to import.
2020-04-20 07:22:20 +02:00
hashlash dfbd9ca065 Fixed #30311 -- Restored ability to override global admin actions. 2020-04-17 20:23:00 +02:00
Jon Dufresne 75410228df Fixed #31473 -- Made sql_flush() use RESTART IDENTITY to reset sequences on PostgreSQL.
The sql_flush() positional argument sequences is replaced by the boolean
keyword-only argument reset_sequences. This ensures that the old
function signature can't be used by mistake when upgrading Django. When
the new argument is True, the sequences of the truncated tables will
reset. Using a single boolean value, rather than a list, allows making a
binary yes/no choice as to whether to reset all sequences rather than a
working on a completely different set.
2020-04-17 11:57:24 +02:00
Jon Dufresne 8005829bb9 Simplified DatabaseOperations.sql_flush() on Oracle and PostgreSQL.
Added early return to decrease an indentation level.
2020-04-17 10:46:19 +02:00
Mariusz Felisiak eeab63e57e
Refs #26552 -- Made reloading the database for tests check only loaded tables constraints. 2020-04-17 08:14:27 +02:00
Hasan Ramezani 7b31ba541f Fixed #29329 -- Made datetime logging from runserver more consistent.
Setting default_msec_format=None will make it the same, unfortunately
it's not supported by Python, see https://bugs.python.org/issue40300.
2020-04-16 12:55:53 +02:00
Hasan Ramezani 96c6f9c61c Fixed #31441 -- Ensured TabluarInline expands when child inputs have errors. 2020-04-16 12:17:49 +02:00
Hasan Ramezani b4e7bf5284 Refs #31441 -- Added red border to inputs with errors for TabluarInline. 2020-04-16 12:17:49 +02:00
Nick Pope daabb102c0 Fixed #31470 -- Fixed fieldset admin CSS to prevent overflowing <pre> elements.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-04-16 10:47:42 +02:00
Claude Paroz 71c4fb7beb Refs #27468 -- Changed default Signer algorithm to SHA-256. 2020-04-15 12:49:14 +02:00
Adam Johnson 4bb33bb074 Fixed #31459 -- Fixed handling invalid indentifiers in URL path conversion.
This patch adjusted existing tests that used invalid identifiers.
2020-04-15 11:29:35 +02:00
sobolevn 578c03b276 Fixed #31223 -- Added __class_getitem__() to Manager and QuerySet. 2020-04-15 11:26:11 +02:00
infosrabah 25afe59d34 Fixed #31268 -- Updated Algerian Arabic (ar_DZ) locale formats. 2020-04-15 09:51:56 +02:00
Ichlasul Affan 3e7c39f710 Fixed #31451 -- Made settings cleansing work with list and tuple settings. 2020-04-15 09:18:40 +02:00
007 d51c50d836 Fixed #31462 -- Allowed overriding autocomplete/raw_id_fields/filter widgets for ManyToManyFields with formfield_overrides. 2020-04-15 08:33:40 +02:00
Adam Johnson 5b884d45ac Fixed #29501 -- Allowed dbshell to pass options to underlying tool. 2020-04-14 14:02:51 +01:00
Adam Johnson 8e8c3f964e Refs #29501 -- Allowed customizing exit status for management commands. 2020-04-14 13:22:47 +02:00
Adam Johnson 6cad911674 Refs #29501 -- Simplified BaseCommand.run_from_argv() a bit. 2020-04-14 13:22:47 +02:00
Adam Johnson 8bd9000a7d Refs #29501 -- Made dbshell catch more specific FileNotFoundError. 2020-04-14 13:22:47 +02:00
Sergey Fedoseev b9e2355eb0 Fixed #31196 -- Added support for PostGIS 3. 2020-04-14 13:19:59 +02:00
Ichlasul Affan 53d229ff63 Fixed #31351 -- Added system checks for partial indexes and unique constraints support. 2020-04-10 12:00:27 +02:00
Simon Charette f5ede1cb6d Refs #28305 -- Consolidated field referencing detection in migrations.
This moves all the field referencing resolution methods to shared
functions instead of duplicating efforts amongst state_forwards and
references methods.
2020-04-10 09:19:16 +02:00
David Smith a350bfa6f4 Fixed #13009 -- Added BoundField.widget_type property. 2020-04-10 07:11:14 +02:00
Daniel Hahler 377018b6ff Fixed #30779 -- Improved selection of filenames in technical 500 debug page. 2020-04-09 11:28:26 +02:00
Mariusz Felisiak 9cab261427
Refs #31411 -- Used RENAME COLUMN on MySQL 8.0.4+.
MySQL 8.0.3 added support for this syntax but also imposed a
restriction against ALTER TABLE RENAME on tables in a foreign key
relationship if a LOCK TABLES was active which has been lifted in MySQL
8.0.4+.
2020-04-09 11:16:28 +02:00
Simon Charette 8b7b19f6c9 Replaced ModelTuple by a model resolving function and bare tuples.
ModelTuple made handling of app_label=None easier but it isn't necessary
anymore.
2020-04-09 10:08:06 +02:00
Simon Charette 5ca5178a78 Replaced Operation._get_model_tuple() by ModelTuple.from_model().
This method predated the introduction of ModelTuple and had a single use.
2020-04-09 10:08:06 +02:00
Simon Charette 8069526ce3 Made Operation.references_model/references_field require app_label.
This will allow them to drop a ton of logic to deal with null
app_label.
2020-04-09 10:08:06 +02:00
Simon Charette 25bf15c0da Refs #22608 -- Made app_label required when optimizing migrations.
This paved the way for the removal of lot of logic when app_label was
not specified.
2020-04-09 10:08:02 +02:00
miigotu 210657b791 Fixed #28184 -- Allowed using a callable for FileField and ImageField storage. 2020-04-08 11:26:17 +02:00