Mads Jensen
a906c98982
Fixed #29547 -- Added support for partial indexes.
...
Thanks to Ian Foote, Mariusz Felisiak, Simon Charettes, and
Markus Holtermann for comments and feedback.
2018-10-29 19:34:54 -04:00
Tim Graham
f892781b95
Fixed #28606 -- Deprecated CachedStaticFilesStorage.
2018-10-27 11:58:29 -04:00
Mariusz Felisiak
c6525bea9e
Fixed #29534 -- Made dbshell use rlwrap on Oracle if available.
2018-10-25 19:39:42 -04:00
Tim Graham
9b52bd6575
Made DatabaseFeatures.uses_savepoints default to True.
2018-10-25 10:02:47 -04:00
buzzi
24cae0bedc
Fixed #29860 -- Allowed BaseValidator to accept a callable limit_value.
2018-10-22 10:26:54 -04:00
Mariusz Felisiak
328f5627dd
Fixed #29870 -- Added DurationField introspection for Oracle and PostgreSQL.
...
Thanks Tim Graham for the review.
2018-10-21 09:08:05 +02:00
Florian Apolloner
bc7dd8490b
Fixed #21171 -- Avoided starting a transaction when a single (or atomic queries) are executed.
...
Checked the following locations:
* Model.save(): If there are parents involved, take the safe way and use
transactions since this should be an all or nothing operation.
If the model has no parents:
* Signals are executed before and after the previous existing
transaction -- they were never been part of the transaction.
* if `force_insert` is set then only one query is executed -> atomic
by definition and no transaction needed.
* same applies to `force_update`.
* If a primary key is set and no `force_*` is set Django will try an
UPDATE and if that returns zero rows it tries an INSERT. The first
case is completly save (single query). In the second case a
transaction should not produce different results since the update
query is basically a no-op then (might miss something though).
* QuerySet.update(): no signals issued, single query -> no transaction
needed.
* Model/Collector.delete(): This one is fun due to the fact that is
does many things at once.
Most importantly though: It does send signals as part of the
transaction, so for maximum backwards compatibility we need to be
conservative.
To ensure maximum compatibility the transaction here is removed only
if the following holds true:
* A single instance is being deleted.
* There are no signal handlers attached to that instance.
* There are no deletions/updates to cascade.
* There are no parents which also need deletion.
2018-10-17 12:19:02 +02:00
Jon Dufresne
0cd465b63a
Fixed #29817 -- Deprecated settings.FILE_CHARSET.
2018-10-15 17:15:41 -04:00
Patrik Sletmo
adfdb9f169
Fixed #29814 -- Added support for NoneType serialization in migrations.
2018-10-11 09:02:14 -04:00
Mariusz Felisiak
52fec5d18f
Fixed #29836 -- Bumped required cx_Oracle to 6.0.
2018-10-11 11:43:16 +02:00
Jon Dufresne
c82893cb8c
Refs #27795 -- Removed force_bytes() usage from django/utils/http.py.
...
django.utils.http.urlsafe_base64_encode() now returns a string, not a
bytestring. Since URLs are represented as strings,
urlsafe_base64_encode() should return a string. All uses immediately
decoded the bytestring to a string anyway.
As the inverse operation, urlsafe_base64_decode() accepts a string.
2018-10-10 14:38:22 -04:00
Stefano Chiodino
6de7f9ec60
Fixed #29598 -- Deprecated FloatRangeField in favor of DecimalRangeField.
2018-10-02 19:17:23 -04:00
Nick Pope
bf8b625a3b
Refs #29722 -- Added introspection of materialized views for PostgreSQL.
2018-10-02 14:02:04 -04:00
Nick Pope
45ef3df7d0
Fixed #29719 -- Added introspection of foreign tables for PostgreSQL.
...
Thanks infinite-l00p for the initial patch.
2018-10-02 14:01:24 -04:00
Jon Dufresne
bb81c22d90
Refs #27795 -- Removed force_bytes() usage in utils/_os.py.
2018-09-25 11:27:36 -04:00
Tom Forbes
9cbdb44014
Fixed #23646 -- Added QuerySet.bulk_update() to efficiently update many models.
2018-09-18 16:14:44 -04:00
Claude Paroz
f5e347a640
Fixed #27899 -- Added support for phrase/raw searching in SearchQuery.
...
Thanks Tim Graham, Nick Pope, and Claude Paroz for contribution and review.
2018-09-17 12:03:52 -04:00
Ramiro Morales
1b1f64ee5a
Refs #14357 -- Deprecated Meta.ordering affecting GROUP BY queries.
...
Thanks Ramiro Morales for contributing to the patch.
2018-09-13 12:29:48 -04:00
Hasan Ramezani
5195b99e2c
Fixed #29560 -- Added --force-color management command option.
2018-09-11 11:15:42 -04:00
Josh Schneier
3509fb54bb
Refs #29426 -- Fixed typo in docs/releases/2.2.txt.
2018-08-31 10:22:42 -04:00
Nick Pope
ed4bfacb3c
Fixed #29703 -- Deprecated QuerySetPaginator alias.
...
Unused since 4406d283e1
.
2018-08-27 16:23:43 -04:00
Dan Palmer
e181666973
Fixed #29687 -- Allowed the test client to serialize list/tuple as JSON.
2018-08-25 10:57:05 -04:00
Claude Paroz
201017df30
Fixed #29654 -- Made text truncation an ellipsis character instead of three dots.
...
Thanks Sudhanshu Mishra for the initial patch and Tim Graham for the review.
2018-08-21 17:46:45 +02:00
Sigurd Ljødal
3e09b37f80
Fixed #28649 -- Added ExtractIsoYear database function and iso_year lookup.
2018-08-18 13:09:15 -04:00
Tim Graham
838d6dcb86
Refs #29426 -- Made UUIDField render values with dashes.
2018-08-18 08:20:21 -04:00
Tom
f1fbef6cd1
Fixed #28668 -- Allowed QuerySet.bulk_create() to ignore insert conflicts.
2018-08-03 17:40:46 -04:00
Calvin DeBoer
058d33f3ed
Fixed #29198 -- Added migrate --plan option.
2018-08-03 15:22:42 -04:00
Nick Pope
6b4d1ec8ff
Fixed #29614 -- Added BTreeIndex to django.contrib.postres.
2018-08-02 11:42:57 -04:00
Nick Pope
d6381d3559
Fixed #28990 -- Added autosummarize parameter to BrinIndex.
2018-08-02 11:26:58 -04:00
Nick Pope
4c36e9e492
Fixed #28887 -- Added SpGistIndex to django.contrib.postgres.
2018-08-02 11:08:08 -04:00
Nick Pope
d526b07784
Fixed #26974 -- Added HashIndex to django.contrib.postgres.
...
Thanks Akshesh Doshi for the initial implementation.
2018-08-02 10:39:18 -04:00
Andrew Brown
c0e3c65b9d
Fixed #29563 -- Added result streaming for QuerySet.iterator() on SQLite.
2018-07-25 18:08:57 -04:00
Claude Paroz
b004bd62e8
Fixed #29412 -- Stopped marking slugify() result as HTML safe.
2018-07-20 10:44:30 -04:00
Peter Inglesby
312eb5cb11
Fixed #26291 -- Allowed loaddata to handle forward references in natural_key fixtures.
2018-07-13 17:54:47 -04:00
Daniel Wiesmann
8f75d21a2e
Fixed #28566 -- Added path matching to collectstatic ignore patterns.
2018-07-13 16:48:19 -04:00
Ian Foote
952f05a6db
Fixed #11964 -- Added support for database check constraints.
2018-07-10 15:32:33 -04:00
Sergey Fedoseev
338f741c5e
Fixed #29546 -- Deprecated django.utils.timezone.FixedOffset.
2018-07-09 16:33:36 -04:00
Tim Graham
5bea8d256d
Fixed #29553 -- Made test client set Content-Length header to a string rather than integer.
2018-07-09 11:44:49 -04:00
Junyi Jiao
a0b19a0f5b
Refs #28643 -- Added math database functions.
...
Thanks Nick Pope for much review.
2018-07-05 11:02:12 -04:00
Ian Foote
38cada7c94
Fixed #28077 -- Added support for PostgreSQL opclasses in Index.
...
Thanks Vinay Karanam for the initial patch.
2018-06-29 17:00:28 -04:00
Floris den Hengst
96199e562d
Fixed #26067 -- Added ordering support to ArrayAgg and StringAgg.
2018-06-28 20:29:33 -04:00
Tim Graham
b9cf764be6
Fixed #29517 -- Added support for SQLite column check constraints on positive integer fields.
2018-06-25 14:01:04 -04:00
Sergey Fedoseev
a799dc51b9
Fixed #29509 -- Added SpatiaLite support for covers and coveredby lookups.
2018-06-21 09:25:31 -04:00
Jan Pieter Waagmeester
24959e48d9
Fixed #27398 -- Added an assertion to compare URLs, ignoring the order of their query strings.
2018-06-20 13:26:12 -04:00
Sergey Fedoseev
fa453b03a6
Fixed #29507 -- Added Oracle support for Envelope GIS function.
2018-06-20 16:48:57 +05:00
Tim Graham
860903b261
Dropped support for GDAL 1.9 and 1.10.
2018-06-11 08:33:09 -04:00
Tim Graham
74a313942c
Added stub 2.2 release notes.
2018-05-17 11:05:40 -04:00