Jack Cushman
eb629f4c02
Fixed #30995 -- Allowed converter.to_url() to raise ValueError to indicate no match.
2020-01-09 14:41:41 +01:00
Hasan Ramezani
eef3ea847e
Fixed #31148 -- Added error messages on update()/delete() operations following union(), intersection(), and difference().
2020-01-09 12:20:54 +01:00
Hasan Ramezani
f600e3fad6
Fixed #21238 -- Fixed restoring attributes when pickling FileField and ImageField.
2020-01-09 09:37:59 +01:00
Mike Yusko
0707ff6d36
Renamed set_language()'s next variable to avoid clash with builtin.
2020-01-09 07:54:18 +01:00
Claude Paroz
6686238cdc
Refs #23919 -- Removed obsolete comment in signing.py
2020-01-08 17:50:29 +01:00
Shubham singh
ffcf1a8ebf
Fixed #31118 -- Made FileInput to avoid the required attribute when initial data exists.
2020-01-08 09:15:31 +01:00
Mariusz Felisiak
53d8646f79
Fixed #31141 -- Relaxed system check of translation settings for sublanguages.
...
Regression in 4400d8296d
.
Thanks Enrique Matías Sánchez for the report.
2020-01-08 08:05:43 +01:00
Taoup
979f61abd3
Simplified model's Options.add_field() a bit.
2020-01-07 11:58:06 +01:00
Claude Paroz
188b003014
Fixed #15982 -- Added DATE_INPUT_FORMATS to forms.DateTimeField default input formats.
2020-01-07 11:08:40 +01:00
Adam Johnson
2ea3fb3e63
Removed "Don't do that" from docs and error messages.
...
It's slightly aggressive and doesn't explain itself.
2020-01-06 13:50:43 +01:00
Claude Paroz
1487f16f2d
Fixed #11385 -- Made forms.DateTimeField accept ISO 8601 date inputs.
...
Thanks José Padilla for the initial patch, and Carlton Gibson for the
review.
2020-01-06 10:52:09 +01:00
Mariusz Felisiak
0f843fdd5b
Fixed #31136 -- Disabled grouping by aliases on QuerySet.values()/values_list().
...
Regression in fb3f034f1c
.
Thanks Sigurd Ljødal for the report.
2020-01-04 20:49:11 +01:00
Simon Charette
9bcbcd599a
Fixed #31133 -- Fixed crash when subtracting against a subquery annotation.
...
The subtract_temporals() database operation was not handling expressions
returning SQL params in mixed database types.
Regression in 3543129822
.
Thanks Reupen Shah for the report.
2020-01-03 10:35:08 +01:00
Federico Jaramillo Martínez
372eaa395f
Fixed #28991 -- Added EmptyFieldListFilter class in admin.filters.
...
Thanks Simon Charette and Carlton Gibson for reviews.
Co-Authored-By: Jonas Haag <jonas@lophus.org>
Co-Authored-By: Christophe Baldy <christophe.baldy@polyconseil.fr>
2020-01-03 07:58:04 +01:00
Patrick Seebauer
e3d546a1d9
Fixed #31128 -- Fixed TemplateSyntaxError in simple_tag() and inclusion_tag() for kwargs.
2020-01-02 10:44:07 +01:00
David Wobrock
2f565f84ac
Fixed #31097 -- Fixed crash of ArrayAgg and StringAgg with filter when used in Subquery.
2019-12-31 10:35:43 +01:00
Sjbrgsn
b2bd08bb7a
Fixed #30892 -- Fixed slugify() and admin's URLify.js for "İ".
...
Thanks Luis Nell for the implementation idea and very detailed report.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-12-30 20:47:22 +01:00
Farhaan Bukhsh
cf5d4701dc
Fixed #30819 -- Fixed year determination in admin calendar widget for two-digit years.
...
Two-digit years in the range of [00, 68] are in the current century,
while [69,99] are in the previous century, according to the Open Group
Specification.
2019-12-30 13:06:29 +01:00
Aldian Fazrihady
550357771b
Refs #30819 -- Prioritized the date format with four-digit year for the Indonesian (id) locale.
2019-12-30 13:06:29 +01:00
Simon Charette
5779cc938a
Fixed #31071 -- Disabled insert optimization for primary keys with defaults when loading fixtures.
...
Model.save_base() is called directly when loading fixtures and assumes
existing rows will be updated. Branching of "raw" allows to maintain
the optimization introduced in #29260 while supporting this edge case.
Regression in 85458e94e3
.
Thanks Reupen Shah for the report.
2019-12-30 07:49:10 +01:00
Jon Dufresne
e42b68debf
Fixed #31114 -- Fixed HttpRequest.build_absolute_uri() crash with reverse_lazy() locations.
2019-12-27 09:19:56 +01:00
leollon
fef2636f28
Fixed typo in django/utils/termcolors.py docstring.
2019-12-27 07:49:15 +01:00
Mariusz Felisiak
22ce5d0031
Fixed #31106 -- Fixed migrations crash on PostgreSQL 10+ when adding FK constraints inline and changing data.
...
This allows adding foreign key constraints inline and changing data in
the same migration on PostgreSQL 10+.
Regression in 738faf9da2
.
Thanks Janne Rönkkö for the report and Simon Charette for the
implementation idea and review.
2019-12-23 23:28:59 +01:00
Jon Dufresne
67ea35df52
Fixed #30998 -- Added ModelChoiceIteratorValue to pass the model instance to ChoiceWidget.create_option().
2019-12-23 10:34:50 +01:00
Simon Charette
720de4d044
Fixed #31109 -- Disabled grouping by aliases on QuerySet.exists().
...
Clearing the SELECT clause in Query.has_results was orphaning GROUP BY
references to it.
Thanks Thierry Bastian for the report and Baptiste Mispelon for the
bisect.
Regression in fb3f034f1c
.
2019-12-23 09:24:03 +01:00
Hasan Ramezani
a3fc24f014
Fixed #31095 -- Made RelatedManager.set() preserve existing m2m relations with an invalid type.
2019-12-19 13:33:05 +01:00
Simon Charette
5a4d7285bd
Fixed #31094 -- Included columns referenced by subqueries in GROUP BY on aggregations.
...
Thanks Johannes Hoppe for the report.
Regression in fb3f034f1c
.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-12-19 10:04:56 +01:00
Mike Hansen
35d36d9462
Refs #30585 -- Updated project templates and tests to use (block)translate tags.
2019-12-18 13:15:38 +01:00
Mike Hansen
d291c72bf2
Fixed #30585 -- Added {% translate %} and {% blocktranslate %} template tags.
2019-12-18 13:15:38 +01:00
Simon Charette
5b1fbcef7a
Fixed CVE-2019-19844 -- Used verified user email for password reset requests.
...
Co-Authored-By: Florian Apolloner <florian@apolloner.eu>
2019-12-18 09:11:39 +01:00
Shubham singh
f4647179cc
Fixed #31086 -- Improved error message for admin model inlines with more than one foreign key to the same parent.
2019-12-17 09:15:01 +01:00
James Turk
ff00a05347
Fixed #31088 -- Added support for websearch searching in SearchQuery.
2019-12-16 14:59:59 +01:00
Ram Rachum
972d93a95e
Optimized containment check in ChoicesMeta.
2019-12-16 11:22:45 +01:00
Zeynel Özdemir
9d40b6bbf4
Fixed #31076 -- Fixed dbshell crash on Windows with Python < 3.8.
...
subprocess.run()'s args parameter accepts path-like objects on Windows
since Python 3.8.
2019-12-16 11:20:41 +01:00
Rabah Saadi
5b7450080f
Added Algerian Arabic language.
2019-12-14 16:26:31 +01:00
Baptiste Mispelon
738e9e615d
Fixed #26743 -- Fixed UnboundLocalError crash when deserializing m2m fields and value isn't iterable.
2019-12-13 11:38:09 +01:00
Osaetin Daniel
b33bfc3839
Fixed #30862 -- Allowed setting SameSite cookies flags to 'none'.
...
Thanks Florian Apolloner and Carlton Gibson for reviews.
2019-12-12 10:52:31 +01:00
Jon Dufresne
b7d05b2e5a
Refs #23919 -- Used yield from in inspectdb.
2019-12-12 10:51:46 +01:00
Sergey Fedoseev
88637064b3
Refs #28373 -- Stopped setting tzinfo in typecast_timestamp().
...
Unnecessary since cef3f2d3c6
. When
USE_TZ=True, conn_tznames is always passed to methods that use
typecast_timestamp(). Therefore, it can return naive datetimes.
2019-12-11 13:59:49 +01:00
Jon Dufresne
e703b93a65
Fixed #31080 -- Removed redundant type="text/javascript" attribute from <script> tags.
2019-12-11 09:49:54 +01:00
Baptiste Mispelon
d8e2333528
Fixed #31077 -- Made debug decorators raise TypeError if they're not called.
...
Django will raise an error if you forget to call the decorator.
2019-12-10 13:34:28 +01:00
Peter Andersen
02eff7ef60
Fixed #31073 -- Prevented CheckboxInput.get_context() from mutating attrs.
2019-12-10 12:27:50 +01:00
Baptiste Mispelon
09341856ed
Used Signature API instead of deprecated inspect.getcallargs().
...
inspect.getcallargs() was deprecated in Python 3.5 and the Signature
API (PEP 362) has better support for decorated functions (by default,
it follows the __wrapped__ attribute set by functools.wraps for
example).
2019-12-10 09:36:34 +01:00
Baptiste Mispelon
3df3c5e670
Fixed #26480 -- Fixed crash of contrib.auth.authenticate() on decorated authenticate() methods of authentication backends.
...
The Signature API (PEP 362) has better support for decorated functions
(by default, it follows the __wrapped__ attribute set by
functools.wraps for example).
2019-12-10 09:36:30 +01:00
Baptiste Mispelon
23af086665
Used full module import for inspect in template/base.py.
2019-12-10 08:29:30 +01:00
Mariusz Felisiak
d6505273cd
Refs #31044 -- Fixed error message when using Prefetch with a values_list() queryset.
2019-12-09 15:45:53 +01:00
Hasan Ramezani
4540842bc3
Fixed #31044 -- Errored nicely when using Prefetch with a raw() queryset.
2019-12-09 15:45:18 +01:00
Baptiste Mispelon
9e565386d3
Fixed #27430 -- Added -b/--buffer option to DiscoverRunner.
2019-12-09 13:47:12 +01:00
exploit19
d8ab2c9bba
Fixed #31066 -- Added a docstring to main() function in manage.py template.
2019-12-09 07:54:51 +01:00
Alex Aktsipetrov
723fc7fcf6
Made Query.check_filterable() use bool by default instead of str.
2019-12-06 13:52:36 +01:00
Alex Aktsipetrov
bf12273db4
Fixed #31060 -- Reallowed window expressions to be used in conditions outside of queryset filters.
...
Regression in 4edad1ddf6
.
Thanks utapyngo for the report.
2019-12-06 13:52:16 +01:00
Jon Dufresne
5708327c37
Fixed #23433 -- Deprecated django-admin.py entry point in favor of django-admin.
...
Unify on the entry point created by setuptools entry_points feature.
2019-12-06 12:11:44 +01:00
Mariusz Felisiak
82a88d2f48
Fixed #31061 -- Ignored positional args in django.urls.resolve() when all optional named parameters are missing.
...
Regression in 76b993a117
.
Thanks Claude Paroz for the report and Carlton Gibson for reviews.
2019-12-06 09:32:51 +01:00
Baptiste Mispelon
f138e75910
Fixed outdated import in django/utils/safestring.py.
...
The backported version of functools.wraps was removed in
13864703bc
.
2019-12-06 09:31:33 +01:00
Hasan Ramezani
5d674eac87
Fixed #31039 -- Added support for contained_by lookup with AutoFields, SmallIntegerField, and DecimalField.
2019-12-05 15:50:39 +01:00
Hasan Ramezani
664521c56a
Refs #31039 -- Removed unnecessary registration of contained_by lookup for BigIntegerField.
...
It's already registered for IntegerField.
2019-12-05 15:02:18 +01:00
Gordon Pendleton
adb9661789
Fixed #31010 -- Allowed subdomains of localhost in the Host header by default when DEBUG=True.
2019-12-05 09:44:45 +01:00
Aymeric Augustin
c06492dd87
Fixed #23524 -- Allowed DATABASES['TIME_ZONE'] option on PostgreSQL.
2019-12-04 18:22:08 +01:00
Aymeric Augustin
ad88524e4d
Refs #23524 -- Unified BaseDatabaseWrapper.timezone.
...
There was a special case in this property to return None when the
database backend supports time zone. However, only the PostgreSQL
backend supports time zones and it never uses this property.
2019-12-04 18:07:51 +01:00
Jon Dufresne
2540c5f08c
Removed unnecessary dict.get() call in favor of direct indexing.
...
The 'TEST' key is always set to a dictionary in ConnectionHandler.
2019-12-04 11:34:06 +01:00
Baptiste Mispelon
26cab4e8c1
Fixed #31046 -- Allowed RelatedManager.add()/create()/set() to accept callable values in through_defaults.
2019-12-03 19:47:38 +01:00
Baptiste Mispelon
c50839fccf
Simplified RelatedManager._add_items() a bit.
...
Added early return in RelatedManager._add_items() to decrease an
indentation level.
2019-12-03 19:47:32 +01:00
Baptiste Mispelon
6c0341f127
Refs #31046 -- Added django.db.models.utils.resolve_callables().
2019-12-03 19:47:32 +01:00
Andrew Godwin
c90ab30fa1
Fixed #31056 -- Allowed disabling async-unsafe check with an environment variable.
2019-12-03 17:29:31 +01:00
Jon Dufresne
65285d1e7d
Refs #29892 -- Made Selenium tests wait for popups to be ready.
2019-12-02 15:06:36 +01:00
Carlton Gibson
6376278a90
Updated contrib translations from Transifex.
...
Forward port of 4afa0e5d2a
from stable/3.0.x
2019-12-02 11:25:23 +01:00
Carlton Gibson
c92cca8914
Updated core translations from Transifex.
...
Forward port of 71ec95345c
from stable/3.0.x
2019-12-02 11:24:40 +01:00
Carlton Gibson
11c5e0609b
Fixed CVE-2019-19118 -- Required edit permissions on parent model for editable inlines in admin.
...
Thank you to Shen Ying for reporting this issue.
2019-12-02 08:56:08 +01:00
Mariusz Felisiak
0107e3d105
Fixed #30953 -- Made select_for_update() lock queryset's model when using "self" with multi-table inheritance.
...
Thanks Abhijeet Viswa for the report and initial patch.
2019-12-02 07:57:19 +01:00
Baptiste Mispelon
f47ba7e780
Fixed #30255 -- Fixed admindocs errors when rendering docstrings without leading newlines.
...
Used inspect.cleandoc() which implements PEP-257 instead of an internal
hook.
2019-11-29 12:47:42 +01:00
Mariusz Felisiak
e8fcdaad5c
Fixed #31021 -- Fixed proxy model permissions data migration crash with a multiple databases setup.
...
Regression in 98296f86b3
.
2019-11-29 08:23:01 +01:00
Jon Dufresne
86a0231e0a
Refs #23919 -- Replaced super(...) with super() in metaclasses.
2019-11-28 15:34:29 +01:00
Jon Dufresne
46a0edc3ba
Fixed #31028 -- Used classList API to check, add and remove DOM classes.
...
Thanks to Claude Paroz for review.
2019-11-28 15:21:37 +01:00
Jon Dufresne
c8bd37a860
Fixed #31042 -- Removed AdminSeleniumTestCase.get_css_value() in favor of Selenium .is_displayed().
...
All instances of AdminSeleniumTestCase.get_css_value() were used to
inspect the display property.
2019-11-28 15:10:13 +01:00
Johannes Hoppe
249a6190ae
Fixed #30975 -- Replaced custom get_select_option with Selenium's select_by_value.
2019-11-27 16:34:07 +01:00
Johannes Hoppe
69dbb6b708
Fixed #30973 -- Converted selenium tests wait_page_loaded to context manager.
2019-11-27 14:36:26 +01:00
Hasan Ramezani
8d32290279
Fixed #30425 -- Handled jinja2.TemplateSyntaxError when rendering a template.
...
Jinja raises jinja2.TemplateSyntaxError in render() not in
get_template() when it's in an included template.
2019-11-27 12:48:07 +01:00
Farhaan Bukhsh
1f817daa20
Fixed #30803 -- Allowed comma separators for milliseconds in django.utils.dateparse functions.
...
Co-Authored-By: Ben Wilber <benwilber@gmail.com>
2019-11-27 09:43:12 +01:00
Farhaan Bukhsh
42b23d1e79
Refs #30803 -- Allowed comma separators for decimal fractions in parse_duration().
2019-11-27 09:43:12 +01:00
Jon Dufresne
cab3661832
Fixed #31027 -- Replaced .getAttribute()/.setAttribute() usage with DOM properties.
2019-11-27 07:53:04 +01:00
Baptiste Mispelon
52936eface
Fixed #31031 -- Fixed data loss in admin changelist view when formset's prefix contains regex special chars.
...
Regression in b18650a263
.
2019-11-26 08:48:10 +01:00
Johannes Hoppe
ef93fd4683
Fixed #31013 -- Removed jQuery usage in SelectBox.js.
2019-11-25 13:35:20 +01:00
Simon Charette
0290e01d5a
Fixed #31002 -- Fixed GIS lookups crash against a subquery annotation.
...
Thanks Vasileios Bouzas for the report.
2019-11-25 12:30:33 +01:00
John Bowen
29d8198841
Fixed #27914 -- Fixed serialization of nested classes in migrations.
2019-11-25 11:12:44 +01:00
Baptiste Mispelon
824981b2dc
Removed unused unencoded_ampersands_re regex.
...
Unused since 8b81dee60c
.
2019-11-25 09:01:31 +01:00
Sergey Fedoseev
a5855c8f0f
Fixed #30996 -- Added AsWKB and AsWKT GIS functions.
2019-11-22 13:40:48 +01:00
Baptiste Mispelon
8929afb8ec
Fixed #9762 -- Made DateFormat.r() locale-independent.
...
Thanks to Antonio Melé for the original report all those years ago
and to all the contributors who helped along the way.
2019-11-22 12:41:53 +01:00
Baptiste Mispelon
76ec032712
Refs #26281 -- Added a helpful error message for an invalid "r" specifier to dateformat.format().
2019-11-22 12:32:30 +01:00
Simon Charette
379bf1a2d4
Fixed #8467 -- Prevented crash when adding existent m2m relation with an invalid type.
...
This was an issue anymore on backends that allows conflicts to be
ignored (Refs #19544 ) as long the provided values were coercible to the
expected type. However on the remaining backends that don't support
this feature, namely Oracle, this could still result in an
IntegrityError.
By attempting to coerce the provided values to the expected types in
Python beforehand we allow the existing value set intersection in
ManyRelatedManager._get_missing_target_ids to prevent the problematic
insertion attempts.
Thanks Baptiste Mispelon for triaging this old ticket against the
current state of the master branch.
2019-11-22 09:08:10 +01:00
Carlton Gibson
ee4a19053a
Fixed #31012 -- Reverted "Fixed #29056 -- Fixed HTML5 validation of required SelectDateWidget."
...
This reverts commit f038214d91
.
The initial issue was incorrect. Django 2.2, and before, did not
generate invalid HTML as reported. With f03821 in place invalid HTML
was generated.
Thanks to Kevin Brown for follow-up report and investigation.
2019-11-21 20:53:31 +01:00
Farhaan Bukhsh
664c98f1f8
Fixed #30413 -- Fixed test database signature on SQLite when test database name is provided.
...
Previously, the same signature was created for multiple in-memory
databases on SQLite when they had tests databases names
DATABASES['TEST']['NAME'].
2019-11-21 19:50:24 +01:00
Jon Dufresne
62254c5202
Simplified TemplateDetailView with pathlib.Path.read_text().
2019-11-21 15:14:03 +01:00
Simon Charette
f97a6123c0
Refs #25367 -- Made Query.build_filter() raise TypeError on non-conditional expressions.
2019-11-21 11:56:35 +01:00
Simon Charette
e9a0e1d4f6
Fixed #30484 -- Added conditional expressions support to CheckConstraint.
2019-11-21 11:56:35 +01:00
Simon Charette
37e6c5b79b
Refs #25367 -- Moved conditional expression wrapping to the Exact lookup.
2019-11-21 11:56:35 +01:00
Simon Charette
306b687520
Refs #11964 -- Removed SimpleCol in favor of Query(alias_cols).
...
This prevent having to pass simple_col through multiple function calls
by defining whether or not references should be resolved with aliases
at the Query level.
2019-11-21 11:56:35 +01:00
Jon Dufresne
f5ebdfce5c
Fixed #25388 -- Added an option to allow disabling of migrations during test database creation.
2019-11-20 20:42:38 +01:00
Hasan Ramezani
0284a26af9
Fixed #30981 -- Fixed admin changelist crash when using F() or OrderBy() expressions in admin_order_field.
2019-11-19 15:40:04 +01:00
Daniel Izquierdo
89abecc75d
Fixed #27272 -- Added an on_delete RESTRICT handler to allow cascading deletions while protecting direct ones.
2019-11-19 10:55:05 +01:00
Daniel Izquierdo
4e1d809aa5
Refs #27272 -- Added Collector.add_dependency().
2019-11-19 10:49:47 +01:00
Caio Ariede
555bebe774
Fixed #30987 -- Added models.PositiveBigIntegerField.
2019-11-19 09:34:11 +01:00
Jon Dufresne
aa12cf07c9
Removed unnecessary numeric indexes in format strings.
2019-11-19 08:29:47 +01:00
Sergey Fedoseev
f95b59a1b3
Fixed #30994 -- Added Oracle support for AsGeoJSON GIS function.
2019-11-18 15:32:44 +01:00
Jon Dufresne
57a3d96ff5
Replaced unnecessary str()/bytes() calls with literals.
2019-11-18 15:30:10 +01:00
Jon Dufresne
e649d691f8
Removed unnecessary parentheses in various code.
2019-11-18 15:25:59 +01:00
Simon Charette
11e327a3ff
Fixed #30988 -- Deprecated the InvalidQuery exception.
...
It was barely documented without pointers at its defining location and
was abused to prevent misuse of the QuerySet field deferring feature.
2019-11-18 14:06:51 +01:00
Baptiste Mispelon
cbe4d6203f
Fixed #30989 -- Removed unimplemented B time format.
...
It's never been documented and has always raised a NotImplementedError.
2019-11-18 12:50:41 +01:00
Baptiste Mispelon
5e2839f320
Simplified DateFormat.W() and z().
2019-11-18 11:30:23 +01:00
Baptiste Mispelon
1185c6172b
Fixed #30990 -- Fixed example output in 'z' date format docs.
2019-11-18 11:30:20 +01:00
Simon Charette
3ca77e2b84
Replaced QueryWrapper single usage with RawSQL.
2019-11-18 10:45:24 +01:00
Mariusz Felisiak
8685e764ef
Fixed #30986 -- Fixed queryset crash when filtering against boolean RawSQL expressions on Oracle.
2019-11-18 08:50:09 +01:00
Hasan Ramezani
530dd193f2
Fixed #29808 -- Fixed initial migration detection when identifiers are case-insensitive.
...
Thanks Simon Charette for the review.
2019-11-15 09:01:30 +01:00
Hasan Ramezani
d0c86a1df4
Refs #29808 -- Optimized MigrationExecutor.detect_soft_applied().
...
Use set() for iterables used only for containment checks. Simplify
column checks O(n) instead of O(2n).
Thanks Simon Charette for an idea.
2019-11-15 08:05:26 +01:00
Dulmandakh
24b9f50823
Fixed #29916 -- Added lower_inc, lower_inf, upper_inc, and upper_inf lookups for RangeFields.
...
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-11-14 22:27:29 +01:00
daniel a rios
efc3e32d6d
Fixed #30759 -- Made cache.delete() return whether it succeeded.
...
Thanks Simon Charette for the review.
2019-11-14 11:14:11 +01:00
Mariusz Felisiak
6e99585c19
Fixed #30941 -- Reverted "Simplified AuthenticationMiddleware a bit."
...
This reverts commit 2f010795e6
.
2019-11-13 16:33:25 +01:00
George Marshall
8be79984dc
Fixed #30971 -- Prevented Query.resolve_lookup_value() from coercing list values to tuples.
...
Regression in 8a281aa7fe
.
2019-11-13 08:27:26 +01:00
Hasan Ramezani
4b78546ef1
Fixed #30405 -- Fixed source code mismatch crash in ExceptionReporter.
2019-11-12 11:31:12 +01:00
Hasan Ramezani
e8de188c06
Refs #30405 -- Added ExceptionReporter._get_source().
2019-11-12 09:44:23 +01:00
Hasan Ramezani
4cec3cc82a
Fixed #30977 -- Optimized PasswordResetForm.save() a bit.
...
Moved site variables assignment outside of the loop.
2019-11-11 10:40:04 +01:00
Hasan Ramezani
153c7956f8
Fixed #24858 -- Added support for get_FOO_display() to ArrayField and RangeFields.
...
_get_FIELD_display() crashed when Field.choices was unhashable.
2019-11-08 10:59:24 +01:00
Hannes Ljungberg
6d590bcf1f
Fixed #30961 -- Fixed spaces in columns list SQL generated for indexes.
2019-11-08 08:52:47 +01:00
Nick Pope
02983c5242
Fixed #30943 -- Added BloomIndex to django.contrib.postgres.
2019-11-07 11:23:53 +01:00
Jon Dufresne
26554cf5d1
Fixed #29983 -- Replaced os.path() with pathlib.Path in project template and docs.
...
Thanks Curtis Maloney for the original patch.
2019-11-07 11:11:27 +01:00
Jon Dufresne
77aa74cb70
Refs #29983 -- Added support for using pathlib.Path in all settings.
2019-11-07 10:26:22 +01:00
Mariusz Felisiak
4c45b627f8
Removed unused import of ACTION_CHECKBOX_NAME in django.contrib.admin.
...
Unused since e651b3095c
.
2019-11-06 12:49:42 +01:00
Jon Dufresne
fbbff7f808
Refs #29983 -- Added pathlib.Path support to the file email backend.
2019-11-06 09:33:07 +01:00
Jon Dufresne
edeec1247e
Passed strict=True to Path.resolve() to enforce that the path must exist.
2019-11-05 14:22:20 +01:00
Hasan Ramezani
47379d027b
Fixed #30095 -- Fixed system check for RangeField/ArrayField.choices with lists and tuples.
2019-11-05 11:48:44 +01:00
Hasan Ramezani
dc60597eb6
Refs #30095 -- Added Field._choices_is_value().
...
This allows fields classes to override the validation of choices'
values.
2019-11-05 11:48:44 +01:00
Mariusz Felisiak
a20ea33ca6
Fixed DatabaseFeatures.has_select_for_update_nowait on MariaDB 10.3+.
...
Thanks Kola Erinoso for the report.
2019-11-05 10:18:47 +01:00
Jon Dufresne
b9fe7f9294
Fixed #30947 -- Changed tuples to lists in model Meta options in django.contrib modules.
...
The Django "Model Meta options" docs provide examples and generally
point the reader to use lists for the unique_together and ordering
options. Follow our own advice for contrib models.
More generally, lists should be used for homogeneous sequences of
arbitrary lengths of which both unique_together and ordering are.
2019-11-05 08:16:31 +01:00
bedilbek
09a00c60bd
Added Uzbek locale formats.
2019-11-04 14:50:55 +01:00
Claude Paroz
6ccb1b68bc
Added Uzbek language.
2019-11-04 14:50:00 +01:00
Nick Pope
7286eaf681
Refs #13312 -- Simplified handling of nulls ordering on MySQL.
...
MySQL & MariaDB support the standard IS NULL and IS NOT NULL so
the same workaround used for NULLS FIRST and NULLS LAST that is
used for SQLite < 3.30.0 can be used.
Thanks Simon Charette for the discussion.
2019-11-04 14:47:58 +01:00
Jon Dufresne
607004f81a
Simplified consecutive calls to pathlib.Path.parent.
2019-11-04 09:59:34 +01:00
Carlton Gibson
2d38eb0ab9
Fixed #30931 -- Restored ability to override Model.get_FIELD_display().
...
Thanks Sergey Fedoseev for the implementation idea.
Regression in a68ea23101
.
2019-11-04 07:55:34 +01:00
Simon Charette
a699595fce
Refs #13312 -- Removed unnecessary IF wrapping in nulls_last handling on MySQL.
...
ISNULL function already returns 0 and 1 on MySQL.
2019-10-31 20:17:04 +01:00
Mariusz Felisiak
a9bd01d363
Refs #30095 -- Simplified Field._check_choices() a bit.
...
Using an internal is_value() hook to check whether Field.choices
is iterable is misleading.
2019-10-31 20:04:47 +01:00
Sky
3cf907c20c
Fixed #30761 -- Prevented floatformat filter from returning a negative zero.
2019-10-31 10:48:35 +01:00
Hasan Ramezani
17752003a8
Refs #28428 -- Made FileSystemStorage.save() to support pathlib.Path.
2019-10-31 09:06:05 +01:00
Simon Charette
377c7cb2f7
Refs #23576 -- Disabled MySQL multi-alias deletion path on MariaDB 10.3.2+.
2019-10-31 08:14:30 +01:00
Felipe Lee
c2c27867ef
Refs #20456 -- Moved initialization of HEAD method based on GET to the View.setup() for generic views.
...
This will ease unit testing of views since setup will essentially do
everything needed to set the view instance up (other than instantiating
it). Credit for idea goes to Vincent Prouillet.
2019-10-30 14:43:52 +01:00
Hasan Ramezani
6315a272c5
Refs #28428 -- Made filepath_to_uri() support pathlib.Path.
2019-10-30 13:13:15 +01:00
Sergey Fedoseev
2f010795e6
Simplified AuthenticationMiddleware a bit.
...
SimpleLazyObject already caches value in _wrapped.
2019-10-29 13:20:13 +01:00
Erwin Junge
a6cb8ec389
Fixed #30922 -- Fixed ModelAdmin.date_hierarchy queries with DST changes.
...
There was an issue where admin date_hierarchy didn't render last day of
a month in DST-switch month.
2019-10-29 11:21:03 +01:00
Hasan Ramezani
e3d0b4d550
Fixed #30899 -- Lazily compiled import time regular expressions.
2019-10-29 09:22:26 +01:00
Hasan Ramezani
39a34d4bf9
Refs #30899 -- Made _lazy_re_compile() support bytes.
2019-10-29 09:14:24 +01:00
Hasan Ramezani
c4cba148d8
Refs #30899 -- Moved _lazy_re_compile() to the django.utils.regex_helper.
2019-10-29 09:14:24 +01:00
Hasan Ramezani
52cb419072
Fixed #30918 -- Made timesince()/timeuntil() respect custom time strings for future and the same datetimes.
2019-10-28 12:28:18 +01:00
Pavel Dedik
711a7d4d50
Fixed #30907 -- Fixed SplitArrayField.has_changed() with removal of empty trailing values.
2019-10-28 10:32:34 +01:00
Pavel Dedik
bcfbb71c63
Refs #30907 -- Added SplitArrayField._remove_trailing_nulls() hook.
2019-10-28 10:32:09 +01:00
Sergey Fedoseev
6bbf9a20e2
Fixed #29770 -- Added LinearRing.is_counterclockwise property.
2019-10-25 14:28:26 +02:00
Carlton Gibson
24e540fbd7
Fixed #29087 -- Added delete buttons for unsaved admin inlines on validation error.
2019-10-25 13:28:08 +02:00
Carlton Gibson
6ea3aadd17
Refs #29087 -- Refactored admin inlines.js.
...
Split logic into separate functions to clarify and allow reuse.
2019-10-25 13:28:08 +02:00
Carlton Gibson
dbcd7b064e
Fixed #30902 -- Added __str__() for model choice enums.
...
Allows expected behavior when cast to str, also matching behaviour of
created instances with those fetched from the DB.
Thanks to Simon Charette, Nick Pope, and Shai Berger for reviews.
2019-10-25 09:19:56 +02:00
Nick Pope
55df1750be
Refs #30897 -- Added support for ANALYZE option to Queryset.explain() on MariaDB and MySQL 8.0.18+.
2019-10-24 15:13:26 +02:00
Nick Pope
742961332e
Refs #30897 -- Added support for TREE format to Queryset.explain() on MySQL 8.0.16+.
2019-10-24 15:13:23 +02:00
Simon Charette
7acef095d7
Fixed #23576 -- Implemented multi-alias fast-path deletion in MySQL backend.
...
This required moving the entirety of DELETE SQL generation to the
compiler where it should have been in the first place and implementing
a specialized compiler on MySQL/MariaDB.
The MySQL compiler relies on the "DELETE table FROM table JOIN" syntax
for queries spanning over multiple tables.
2019-10-24 12:24:53 +02:00
Mariusz Felisiak
e645f27907
Fixed DatabaseFeatures.update_can_self_select on MariaDB 10.3.2+.
2019-10-24 12:18:13 +02:00
Hannes Ljungberg
fa5f3291e7
Fixed #30903 -- Fixed migrations crash on PostgreSQL when adding Index with opclasses and ordering.
2019-10-24 09:33:14 +02:00
Nick Pope
6e9189c080
Refs #30897 -- Added test for SETTINGS option to Queryset.explain() on PostgreSQL 12+.
2019-10-23 14:07:18 +02:00
Dan Moore
bc94e3c1a2
Fixed #29919 -- Fixed RelatedOnlyFieldListFilter crash with reverse relationships.
2019-10-23 10:50:31 +02:00
Sergey Fedoseev
0315c18fe1
Refs #26601 -- Removed obsolete workarounds for MIDDLEWARE_CLASSES setting.
2019-10-23 08:18:48 +02:00
Sergey Fedoseev
909c59f290
Fixed typo in XViewMiddleware.process_view() docstring.
2019-10-22 14:30:52 +02:00
Sergey Fedoseev
af8dbbe0d5
Updated link to GEOS C API header.
2019-10-21 15:25:49 +02:00
Alex Aktsipetrov
681f7e2b13
Fixed #20577 -- Deferred filtering of prefetched related querysets.
...
Added internal interface to QuerySet that allows to defer next filter
call till .query is accessed. Used it to optimize prefetch_related().
Thanks Simon Charette for the review.
2019-10-21 13:21:54 +02:00
Alex Aktsipetrov
70d8146986
Adjusted QuerySet._filter_or_exclude() call to use negated=False, rather than None.
...
None was a remnant from the times _filter_or_exclude accepted
qtype/mapper as the first arg.
2019-10-21 12:45:17 +02:00
Ahmet Kucuk
09578f6dfb
Fixed #30827 -- Made batch_size arg of QuerySet.bulk_create() respect DatabaseOperations.bulk_batch_size().
...
Thanks Chetan Khanna for tests.
2019-10-21 11:46:44 +02:00
André Ericson
3120490912
Fixed #30876 -- Moved classproperty() decorator to the django.utils.functional.
2019-10-21 09:57:39 +02:00
André Ericson
31174031f1
Fixed #30841 -- Deprecated using non-boolean values for isnull lookup.
2019-10-21 08:44:20 +02:00
Pavel Savchenko
1711c509fa
Fixed #27391 -- Implemented SimpleTestCase.debug().
...
debug() should bubbled up exceptions if occurring in test, but behave
the same as run() when no exceptions occurred.
2019-10-18 12:22:51 +02:00
Patrick Jenkins
46e74a5256
Fixed #28337 -- Preserved extra headers of requests made with django.test.Client in assertRedirects().
...
Co-Authored-By: Hasan Ramezani <hasan.r67@gmail.com>
2019-10-18 08:42:51 +02:00
Mariusz Felisiak
3a8af298b9
Fixed #30890 -- Added MariaDB support for the relate lookup.
2019-10-18 07:46:31 +02:00
Hasan Ramezani
ef4beafa2c
Refs #28816 -- Prevented silencing data loss when decreasing CharField.max_length for ArrayField.base_field on PostgreSQL.
2019-10-17 12:50:53 +02:00
sage
6f82df69ef
Refs #12990 -- Moved CheckFieldDefaultMixin to the django.db.models.fields.mixins.
2019-10-17 12:30:29 +02:00
Mariusz Felisiak
187a64608d
Fixed #30885 -- Dropped support for MariaDB 10.1.
2019-10-16 18:40:48 +02:00
Mariusz Felisiak
4a849b6701
Fixed #30859 -- Fixed DatabaseFeatures.supports_aggregate_filter_clause on SQLite 3.30.1+.
2019-10-15 20:55:49 +02:00
Carlton Gibson
1de9a92295
Fixed #30872 -- Improved unknown command message when settings are manually configured.
2019-10-15 13:04:32 +02:00
Mariusz Felisiak
06d34aab7c
Fixed #30870 -- Fixed showing that RunPython operations are irreversible by migrate --plan.
...
Thanks Hasan Ramezani for the initial patch and Kyle Dickerson for the
report.
2019-10-14 11:13:27 +02:00
Simon Charette
2839659b42
Fixed #30868 -- Prevented unnecessary AlterField when renaming a referenced pk.
...
Regression introduced by dcdd219ee1
, refs #25817 .
Thanks Carlos E. C. Leite for the report and Mariusz for the bisect.
2019-10-14 08:02:26 +02:00
Etienne Chové
e7cdb0cd7e
Fixed #30014 -- Fixed ModelChoiceField validation when initial value is a model instance.
...
Thanks Carlton Gibson for reviews.
2019-10-11 13:28:09 +02:00
Louise Grandjonc
7d1bf29977
Fixed #30826 -- Fixed crash of many JSONField lookups when one hand side is key transform.
...
Regression in 6c3dfba892
.
2019-10-11 10:55:22 +02:00
Hasan Ramezani
6a75cea76a
Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations.
2019-10-11 08:10:48 +02:00
Hasan Ramezani
e1ae2b0050
Refs #30854 -- Moved local_setter() outside the loop in SQLCompiler.get_related_selections().
2019-10-11 08:07:07 +02:00
Flavio Curella
ed112fadc1
Fixed #23755 -- Added support for multiple field names in the no-cache Cache-Control directive to patch_cache_control().
...
https://tools.ietf.org/html/rfc7234#section-5.2.2.2
2019-10-10 19:30:51 +02:00
Viktor Lomakin
ee6b17187f
Fixed #30812 -- Made ConditionalGetMiddleware set ETag only for responses with non-empty content.
2019-10-10 09:51:05 +02:00
Benjy Weinberger
3cd3bebe89
Fixed #30300 -- Allowed migrations to be loaded from directories without __init__.py file.
2019-10-10 08:31:41 +02:00
Mariusz Felisiak
02c63b8f2f
Refs #26608 -- Fixed DatabaseFeatures.supports_frame_range_fixed_distance on SQLite 3.28+, MariaDB 10.2+, and MySQL 8.0.2+.
2019-10-09 13:07:50 +02:00
Simon Charette
8b10357854
Fixed #30860 -- Disabled unneeded NULLS FIRST/LAST workaround on SQLite 3.30+.
2019-10-09 10:47:49 +02:00
Simon Charette
26c66f4519
Fixed #30856 -- Combined fast-delete queries by model during cascade deletion.
...
Reduced the number of queries required when performing cascade deletion
for a model referenced multiple time by another one by performing an
union of reference lookups.
2019-10-09 09:49:53 +02:00
Simon Charette
44522d1036
Made Collector.collect() return immediately for disabled related collection.
2019-10-09 09:49:53 +02:00
Simon Charette
832aa08afe
Used defaultdict in deletion.Collector.
2019-10-09 09:49:27 +02:00
Alex Gaynor
04ac9b45a3
Improved performance of django.template.base.Parser.
...
pop(0), which is used to fetch each token, is O(n) in the length of the
list. By reversing the list and operating off the end, we can perform
next_token(), prepend_token(), and delete_first_token() in constant
time.
2019-10-09 08:33:16 +02:00
Hasan Ramezani
a28d1b38e5
Fixed #30839 -- Fixed Field.__deepcopy__() so forms don't share error messages.
2019-10-08 10:07:05 +02:00
Hasan Ramezani
6452112640
Refs #27914 -- Fixed serialization of nested enum.Enum classes in migrations.
2019-10-03 08:39:30 +02:00
Min ho Kim
103a6f4307
Fixed some typos in comments and docs.
...
Thanks to Mads Jenson for review.
2019-10-02 15:50:46 +02:00
Mariusz Felisiak
02ba48bc23
Removed redundant names in django.db.models.functions.__all__.
2019-10-02 13:07:14 +02:00
Anatol Ulrich
8ed6788aa4
Fixed #30821 -- Added ExtractIsoWeekYear database function and iso_week_day lookup.
2019-10-02 10:41:34 +02:00
Tanner Stirrat
17595407ca
Fixed #14218 -- Added Paginator.__iter__().
2019-10-02 09:49:31 +02:00