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 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
Matthijs Kooijman
2e67e80fbe
Refs #31051 -- Made dumpdata do not sort dependencies if natural foreign keys are not used.
...
There is no need to sort dependencies when natural foreign keys are not
used.
2020-04-07 20:41:59 +02:00
Matthijs Kooijman
4f216e4f8e
Fixed #31051 -- Allowed dumpdata to handle circular references in natural keys.
...
Since #26291 forward references in natural keys are properly handled by
loaddata, so sorting depenencies in dumpdata doesn't need to break on
cycles. This patch allows circular references in natural keys by
breaking sort_depenencies() on loops.
2020-04-07 20:41:59 +02:00
Simon Charette
ad811335bd
Refs #29000 -- Restored delayed model rendering of RenameField.
...
Non-delayed rendering is unnecessary and wasteful now that state models
relationship consistency on delayed reload is ensured.
This partly reverts commit fcc4e251db
.
2020-04-07 09:20:46 +02:00
Simon Charette
1d16c5d562
Refs #27666 -- Ensured relationship consistency on delayed reloads.
...
Delayed reloads of state models broke identity based relationships
between direct and non-direct ancestors.
Basing models.Options related objects map of model labels instead of
their identity ensured relationship consistency is maintained.
Refs #30966 .
Co-authored-by: Hasan Ramezani <hasan.r67@gmail.com>
2020-04-07 09:20:46 +02:00
François Freitag
e03eb8db93
Fixed #31428 -- Allowed empty message in management command self.stdout/err proxies.
2020-04-07 08:45:11 +02:00
Sergey Fedoseev
026719cf17
Fixed #31030 -- Registered SQLite functions as deterministic on Python 3.8+.
2020-04-06 11:26:00 +02:00
Simon Charette
513948735b
Fixed #31426 -- Added proper field validation to QuerySet.order_by().
...
Resolve the field reference instead of using fragile regex based string
reference validation.
2020-04-06 10:19:49 +02:00
Simon Charette
98ea4f0f46
Refs #7098 -- Deprecated passing raw column aliases to order_by().
...
Now that order_by() has expression support passing RawSQL() can achieve
the same result.
This was also already supported through QuerySet.extra(order_by) for
years but this API is more or less deprecated at this point.
2020-04-06 10:01:02 +02:00
Hasan Ramezani
4237050684
Fixed #31420 -- Fixed crash when filtering subquery annotation against a SimpleLazyObject.
...
Thanks Simon Charette for the solution and analysis.
2020-04-06 07:11:29 +02:00
Hasan Ramezani
6fbce45b03
Fixed #31415 -- Fixed crash when nested OuterRef is used with operators or in database functions.
2020-04-04 20:16:00 +02:00
c-bata
89032876f4
Fixed #31275 -- Optimized sql_flush() without resetting sequences on MySQL.
...
Co-Authored-By: Simon Charette <charettes@users.noreply.github.com>
2020-04-02 12:57:53 +02:00
Matthijs Kooijman
75520e1767
Refs #31051 -- Optimized serialize_db_to_string() by avoiding creation of models list.
2020-04-02 11:38:23 +02:00
Matthijs Kooijman
289d0ec6fd
Refs #31051 -- Fixed reloading the database with circular related objects and natural keys for tests.
...
Made deserialize_db_from_string() do not sort dependencies.
deserialize_db_from_string() doesn't use natural keys, so there is no
need to sort dependencies in serialize_db_to_string(). Moreover,
sorting models cause issues for circular dependencies.
2020-04-02 11:35:33 +02:00
Hasan Ramezani
1fe3e24264
Fixed #31411 -- Used RENAME COLUMN on MariaDB 10.5.2+.
2020-04-02 06:56:15 +02:00
hashlash
4a6f2b63d7
Fixed #31380 -- Added deployment system check for DJANGO_ALLOW_ASYNC_UNSAFE environment variable.
2020-04-01 12:51:11 +02:00
Mariusz Felisiak
5c24c16e68
Refs #12990 -- Moved PostgresSimpleLookup to the django.db.models.lookups.PostgresOperatorLookup.
2020-04-01 10:55:53 +02:00
Hasan Ramezani
8aa71f4e87
Fixed #31375 -- Made contrib.auth.hashers.make_password() accept only bytes or strings.
2020-03-31 10:52:56 +02:00
Deep Sukhwani
4b146e0c83
Fixed #30864 -- Doc'd classproperty decorator.
2020-03-31 10:46:48 +02:00
Adam Johnson
93ed71e058
Fixed #31403 -- Added support for returning fields from INSERT statements on MariaDB 10.5+.
2020-03-31 07:25:50 +02:00
Adam Johnson
c06d7c9239
Refs #31403 -- Made SQLInsertCompiler.execute_sql() always return an iterable of rows.
...
List of tuples.
2020-03-31 07:12:11 +02:00
zriv
b9336b78cf
Fixed #31404 -- Changed selector-chosen's multiple attribute to HTML5 boolean syntax.
2020-03-27 08:38:58 +01:00
Gordon Pendleton
d0da2820ca
Fixed #31402 -- Added migrate --check option.
...
Command exits with non-zero status if unapplied migrations exist.
2020-03-26 20:12:39 +01:00
Hasan Ramezani
55cdf6c52d
Fixed #29724 -- Fixed timezone handling in ModelAdmin.date_hierarchy queries.
...
Thanks Alexander Holmbäck for the initial patch.
2020-03-25 21:03:41 +01:00
Tim Graham
8bebb8f126
Fixed #31399 -- Made SchemaEditor._alter_field() ignore foreign key constraints if unsupported.
2020-03-25 20:13:29 +01:00
Adam Johnson
9e1b6b8a66
Fixed #23916 -- Allowed makemigrations to handle related model name case changes.
...
Made autodetector ignore related model name case changes so unnecessary
migrations are not created.
2020-03-25 10:39:34 +01:00
Hannes Ljungberg
f3da09df0f
Fixed #31396 -- Added binary XOR operator to F expressions.
2020-03-25 10:16:30 +01:00
Hasan Ramezani
10866a10fe
Fixed #31377 -- Disabled grouping by aliases on QuerySet.values()/values_list() when they collide with field names.
...
Regression in fb3f034f1c
.
Thanks Holovashchenko Vadym for the report.
2020-03-25 09:13:46 +01:00
David Smith
27746ab28a
Fixed #7664 -- Allowed customizing suffixes of MultiWidget.widgets' names.
2020-03-24 20:05:18 +01:00
Shipeng Feng
8fe2447a01
Fixed #31392 -- Avoided unnecessary SchemaEditor.effective_default() calls when altering a field.
2020-03-24 13:09:43 +01:00
Jon Dufresne
be648d1c45
Fixed #31391 -- Removed jQuery usage in cancel.js
...
Now that cancel.js has no dependencies, it can be loaded asynchronously.
Co-Authored-By: François Freitag <mail@franek.fr>
2020-03-24 11:09:29 +01:00
Jon Dufresne
3a807a6f59
Fixed #31365 -- Removed jQuery usage in SelectFilter2.js.
2020-03-24 09:14:22 +01:00
Hannes Ljungberg
0b51a4f894
Fixed #28194 -- Added support for normalization and cover density to SearchRank.
2020-03-23 11:00:55 +01:00
Adam Johnson
4ed534758c
Fixed #19878 -- Deprecated TemplateView passing URL kwargs into context.
2020-03-23 08:11:14 +01:00
Jon Dufresne
f982f0bdb8
Refs #31032 -- Removed unsupported browsers workarounds and comments in admin's JavaScript.
...
Since 8b30360322
, the admin documentation
is explicit that only modern evergreen browsers are supported. This
allows removing several long standing workarounds for IE and Opera older
versions.
Since 2013, Opera is based on the Chromium blink engine.
2020-03-23 06:19:10 +01:00
Hasan Ramezani
53b6a466d8
Refs #29724 -- Added is_dst parameter to QuerySet.datetimes().
...
Thanks Simon Charette for the review and Mariusz Felisiak for tests.
2020-03-20 12:55:33 +01:00
Rohit
2695ac8e04
Fixed #31144 -- Relaxed system check for max_length of CharFields on MySQL/MariaDB by turning into a warning.
2020-03-20 12:28:10 +01:00
Jon Dufresne
013147fae2
Fixed #31285 -- Fixed inherited Meta.ordering of "-pk".
2020-03-19 12:57:07 +01:00
gowthamk63
142ab6846a
Fixed #31123 -- Added --include-stale-apps option to the remove_stale_contenttypes management command.
...
Co-Authored-By: Javier Buzzi <buzzi.javier@gmail.com>
2020-03-19 11:48:10 +01:00
Jon Dufresne
13993e0f38
Removed unused default value None to matches_patterns().
...
An iterable is always passed.
2020-03-19 11:06:33 +01:00
Jon Dufresne
6b61b8b904
Used modern idiom in collectstatic command.
...
Replaced set(<generator expression>) with set comprehension.
2020-03-19 11:04:33 +01:00
Mariusz Felisiak
6e026aec5f
Refs #29548 -- Mentioned MariaDB in database system checks.
2020-03-19 09:42:04 +01:00
Andrew Godwin
fc0fa72ff4
Fixed #31224 -- Added support for asynchronous views and middleware.
...
This implements support for asynchronous views, asynchronous tests,
asynchronous middleware, and an asynchronous test client.
2020-03-18 19:59:12 +01:00
Mariusz Felisiak
5c8441a0b8
Refs #31055 -- Made long column names checks support databases aware.
2020-03-18 18:41:40 +01:00
Adam Johnson
ba4389a36b
Simplified settings' BASE_DIR definition with pathlib.Path.parent.
2020-03-18 13:00:32 +01:00
Ryan Petrello
5f8495a40a
Fixed #31371 -- Increased User.first_name max_length to 150 characters.
2020-03-18 08:22:49 +01:00
Simon Charette
9f07f27124
Fixed #31376 -- Optimized nulls ordering when possible on SQLite and MySQL.
...
Both backends order NULLs first on ascending ordering and last on
descending ordering which makes ORDER BY IS (NOT)? NULL wasteful when
asc(nulls_first) and desc(nulls_last) are used since it prevents indice
usage.
2020-03-18 06:43:49 +01:00
Jon Dufresne
25d450c852
Removed unused return values in SelectFilter2.js.
2020-03-17 13:52:29 +01:00
Jon Dufresne
9cf4e40b84
Simplified SelectFilter2 with Element.closest().
...
https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
2020-03-17 12:04:14 +01:00
Hasan Ramezani
0538da08c5
Fixed #31172 -- Added note to translators for yesno filter.
2020-03-17 11:38:49 +01:00
Baptiste Mispelon
3baf92cf82
Fixed #31340 -- Allowed query expressions in SearchQuery.value and __search lookup.
2020-03-16 10:27:23 +01:00
jay20162016
924c01ba09
Fixed #31363 -- Added support for negative integers to intword template filter.
2020-03-16 08:44:43 +01:00
Jon Dufresne
3857a08bdb
Fixed #31361 -- Fixed invalid action="" in admin forms.
...
The attribute action="" (empty string) on the <form> element is invalid
HTML5. The spec (https://html.spec.whatwg.org/#attr-fs-action ) says:
> The action and formaction content attributes, if specified, must have
> a value that is a valid non-empty URL potentially surrounded by
> spaces.
Emphasis on non-empty. The action attribute is allowed to be omitted, in
which case the current URL is used which is the same behavior as now.
2020-03-16 07:31:19 +01:00
Baptiste Mispelon
dd704c6705
Refs #31340 -- Simplified SearchQuery by making it subclass Func.
2020-03-13 11:38:43 +01:00
Baptiste Mispelon
b62c58d5fc
Removed unnecessary SearchQuery._combine().
...
Unnecessary since its introduction in 2d877da855
.
2020-03-13 11:22:51 +01:00
David Smith
ccf32aca44
Fixed #8760 -- Changed ModelMultipleChoiceField to use invalid_list as a error message key.
2020-03-12 09:36:01 +01:00
Mariusz Felisiak
3c35825009
Fixed typo in django/utils/crypto.py.
2020-03-11 14:38:27 +01:00
Claude Paroz
e663f695fb
Fixed #31359 -- Deprecated get_random_string() calls without an explicit length.
2020-03-11 13:16:44 +01:00
Claude Paroz
e3e48b0012
Fixed #30439 -- Added support for different plural forms for a language.
...
Thanks to Michal Čihař for review.
2020-03-10 15:56:32 +01:00
Jon Dufresne
eb77e80de0
Fixed #31349 -- Used :nth-child() CSS pseudo-class to style alternative rows in admin.
2020-03-09 12:34:32 +01:00
Hasan Ramezani
ec292f261d
Fixed #31347 -- Checked allow_migrate() in CreateExtension operation.
2020-03-09 12:13:18 +01:00
David Wobrock
d88365708c
Fixed #31318 -- Allowed sqlmigrate to inspect squashed migrations.
2020-03-09 08:42:30 +01:00
David Wobrock
271e108b29
Refs #31318 -- Optimized sqlmigrate by using MigrationLoader.
...
Only loader from MigrationExecutor was used.
2020-03-09 08:34:41 +01:00
David Wobrock
71c1b7fb34
Refs #31318 -- Moved MigrationExecutor.collect_sql() to MigrationLoader.
...
collect_sql() is used only in sqlmigrate.
2020-03-09 08:23:56 +01:00
David Wobrock
e12fea24f0
Optimized a bit handle() of sqlmigrate management command.
2020-03-06 13:14:27 +01:00
Simon Charette
7c8b043a03
Refs #31304 -- Made __search lookup default to its rhs' config.
...
This make the SearchLookup lookup more coherent with its
SearchVectorExact base which configures its rhs SearchQuery with its
lhs' config.
2020-03-06 10:23:39 +01:00
shankarj67
df4d622cac
Fixed #31345 -- Added BaseDatabaseIntrospection.get_relations().
2020-03-06 08:53:32 +01:00
Andrew Godwin
17009e9105
Refs #31224 -- Added autoconversion of test async methods.
2020-03-05 14:29:21 +01:00
Abhijeet Viswa
babd412685
Fixed #29129 -- Skipped UPDATE when adding a model instance with inherited primary key that has a default.
2020-03-05 12:08:38 +01:00
Hasan Ramezani
7e15795bf0
Fixed #30489 -- Fixed RasterField deserialization with pixeltype flags.
...
Thanks Ivor Bosloper for the original patch.
2020-03-05 09:44:44 +01:00
Jon Dufresne
769cee5252
Fixed #31327 -- Deprecated providing_args argument for Signal.
2020-03-05 09:38:52 +01:00
Ivor Bosloper
828e3b1335
Refs #30489 -- Made from_pgraster()/to_pgraster() use BANDTYPE_FLAG_HASNODATA and bitwise operators for nodata flag.
2020-03-04 14:09:59 +01:00
aryan
427a7e419b
Fixed #31333 -- Added BaseDatabaseIntrospection.get_table_description().
2020-03-04 12:26:31 +01:00
Mariusz Felisiak
6695d29b1c
Fixed CVE-2020-9402 -- Properly escaped tolerance parameter in GIS functions and aggregates on Oracle.
...
Thanks to Norbert Szetei for the report.
2020-03-04 09:04:50 +01:00
Hannes Ljungberg
65ab4f9f03
Fixed #31147 -- Added SearchHeadline to django.contrib.postgres.
2020-03-03 15:39:52 +01:00
Mariusz Felisiak
a19505eb2e
Refs #31331 -- Added DatabaseWrapper.sql_mode to MySQL.
2020-03-03 11:25:37 +01:00
Mariusz Felisiak
7b8fa1653f
Fixed #31150 -- Included subqueries that reference related fields in GROUP BY clauses.
...
Thanks Johannes Hoppe for the report.
Regression in fb3f034f1c
.
Co-authored-by: Simon Charette <charette.s@gmail.com>
2020-03-03 11:25:37 +01:00
Claude Paroz
d4fff711d4
Fixed #31274 -- Used signing infrastructure in SessionBase.encode()/decode().
...
Thanks Mariusz Felisiak and Florian Apolloner for the reviews.
2020-03-02 12:16:48 +01:00
Simon Charette
daaa894960
Refs #26064 -- Avoided unnecessary list slicing in migration optimizer.
...
The in_between list is only necessary if an optimization is possible.
2020-03-02 08:42:06 +01:00
007
e65fea9292
Fixed #31293 -- Allowed MultiPartParser to handle double-quoted encoded headers.
2020-02-28 14:43:16 +01:00
Hans Aarne Liblik
a21f7b91db
Fixed #31301 -- Fixed crash of QuerySet.bulk_create() with mixed empty and set ForeignKeys to AutoFields on Oracle.
2020-02-28 12:56:03 +01:00
kimbo
7c6b66383d
Fixed #31311 -- Removed unneeded escapes in validator regexes.
...
Special characters lose their special meaning inside sets of characters.
"-" lose its special meaning if it's placed as the first or last
character.
2020-02-28 11:08:06 +01:00
Cristobal Mackenzie
984531f96e
Fixed #31314 -- Raised CommandError when locale is not specified in makemessages.
...
Regression in 0707b824fe
.
2020-02-28 10:11:19 +01:00
Matheus Cunha Motta
e908eb6287
Fixed #31310 -- Fixed hints in checks for using intermediate model with ambiguous foreign key.
...
symmetrical=False is not required since
87b1ad6e73
.
2020-02-28 08:38:57 +01:00
007gzs
a4881f5e5d
Fixed #31307 -- Fixed filter_horizontal add/remove SVG :hover positioning.
2020-02-27 15:39:13 +01:00
Rohit
486786c4c4
Fixed #31251 -- Disabled grouping by OuterRef() annotation.
2020-02-27 13:02:49 +01:00
Valze
5bf28ac2ed
Fixed #31185 -- Fixed detecting of unique fields in ForeignKey/ForeignObject checks when using Meta.constraints.
2020-02-27 10:53:29 +01:00
Simon Charette
41ebe60728
Fixed #31312 -- Properly ordered temporal subtraction params on MySQL.
...
Regression in 9bcbcd599a
.
Thanks rick2ricks for the report.
2020-02-27 08:50:55 +01:00
Colton Hicks
f283ffaa84
Fixed #28699 -- Fixed CSRF validation with remote user middleware.
...
Ensured process_view() always accesses the CSRF token from the session
or cookie, rather than the request, as rotate_token() may have been called
by an authentication middleware during the process_request() phase.
2020-02-26 17:25:20 +01:00
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