1
0
mirror of https://github.com/django/django.git synced 2024-12-28 12:06:22 +00:00
Commit Graph

91 Commits

Author SHA1 Message Date
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