Commit Graph

3144 Commits

Author SHA1 Message Date
Adam Allred 4e78e389b1 Fixed #29774 -- Fixed django-admin shell hang on startup.
sys.stdin.read() blocks waiting for EOF in shell.py which will
likely never come if the user provides input on stdin via the
keyboard before the shell starts. Added check for a tty to
skip reading stdin if it's not present.

This still allows piping of code into the shell (which should
have no TTY and should have an EOF) but also doesn't cause it
to hang if multi-line input is provided.
2018-10-19 20:00:12 -04:00
aspalding dc5e75d419 Fixed #29838 -- Fixed crash when combining Q objects with __in lookups and lists.
Regression in fc6528b25a.
2018-10-17 11:34:49 -04: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
Jon Dufresne e90af8bad4 Capitalized "Python" in docs and comments. 2018-10-09 09:26:07 -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
Carlton Gibson 92ccc39170 Adjusted text for CVE-2018-16984 in security release archive. 2018-10-01 14:58:23 +02:00
Carlton Gibson 0b3b7c4b0a Added CVE-2018-16984 to the security release archive. 2018-10-01 11:54:31 +02:00
Carlton Gibson dc28c0faf3 Added stub release notes for 2.1.3 release. 2018-10-01 11:48:11 +02:00
Carlton Gibson 2e86710dac Added stub release notes for 2.0.10 release. 2018-10-01 11:46:38 +02:00
Carlton Gibson 7040e638b9 Added stub release notes for 1.11.17 release. 2018-10-01 11:44:36 +02:00
Carlton Gibson fb7fd884a1 Added release date for 2.1.2 release. 2018-10-01 10:10:48 +02:00
Tim Graham a7284cc0c3 Fixed #29809 -- Fixed a crash when a "view only" user POSTs to the admin user change form. 2018-10-01 10:09:50 +02:00
Carlton Gibson bf39978a53 Fixed CVE-2018-16984 -- Fixed password hash disclosure to admin "view only" users.
Thanks Claude Paroz & Tim Graham for collaborating on the patch.
2018-10-01 10:05:01 +02:00
Carlton Gibson a4932be483 Added release date for 2.0.9 release. 2018-10-01 09:55:56 +02:00
Carlton Gibson d37ed40048 Added release date for 1.11.16. 2018-10-01 09:34:57 +02:00
Claude Paroz 033d842e84 Updated translations from Transifex
Forward port of d5ed08263b from master.
2018-09-29 17:11:49 +02:00
Mariusz Felisiak 024abe5b82
Fixed #29630 -- Fixed crash of sliced queries with multiple columns with the same name on Oracle 12.1.
Regression in 0899d583bd.

Thanks Tim Graham for the review and Jani Tiainen for help.
2018-09-26 20:18:48 +02:00
Jon Dufresne 82f286cf6f Refs #29784 -- Switched to https:// links where available. 2018-09-26 08:48:47 +02:00
Oleg d1d5c97bc2 Fixed #29778 -- Fixed quoting of unique index names.
Regression in 3b429c9673.
2018-09-25 16:00:20 -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
Tim Graham 0192e9a976 Fixed typo in docs/releases/2.1.txt. 2018-09-18 15:46:38 -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
Mariusz Felisiak da92ec7962
Fixed #29759 -- Fixed crash on Oracle when fetching a returned insert id with cx_Oracle 7. 2018-09-16 12:45:34 +02:00
Simon Charette a4495f4b98 Fixed #29755 -- Made migrations detect changes to Meta.default_related_name. 2018-09-14 09:09:17 -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
Tim Graham 32fbccab40
Fixed #29749 -- Made the migrations loader ignore files starting with a tilde or underscore.
Regression in 29150d5da8.
2018-09-11 12:51:11 -04:00
Hasan Ramezani 5195b99e2c Fixed #29560 -- Added --force-color management command option. 2018-09-11 11:15:42 -04:00
Curtis Maloney c49ea6f591 Refs #20910 -- Replaced snippet directive with code-block. 2018-09-10 13:00:34 -04:00
Alexander Holmbäck f315d0423a Fixed #29727 -- Made nonexistent joins in F() raise FieldError.
Regression in 2162f0983d.
2018-09-08 09:40:33 -04:00
Josh Schneier 3509fb54bb Refs #29426 -- Fixed typo in docs/releases/2.2.txt. 2018-08-31 10:22:42 -04:00
Carlton Gibson 728ee98cd3 Added stub release notes for 2.1.2. 2018-08-31 11:01:29 +02:00
Carlton Gibson fff25d6d0c Added release date for 2.1.1. 2018-08-31 10:12:51 +02:00
Tim Graham fd8a7a5313 Fixed #29723 -- Fixed crash if InlineModelAdmin.has_add_permission() doesn't accept the obj argument.
* Refs #27991 -- Added testing for ModelAdmin.get_inline_instances() if the inline's has_add_permission() doesn't accept 'obj'.

* Fixed #29723 -- Fixed crash if InlineModelAdmin.has_add_permission() doesn't accept the obj argument.
2018-08-30 11:22:50 +02:00
Mariusz Felisiak 39461a83c3
Fixed #29694 -- Fixed column mismatch crash with QuerySet.values() or values_list() after combining querysets with extra() with union(), difference(), or intersection().
Regression in 0b66c3b442.
2018-08-29 10:00:15 +02:00
Tim Graham 166dec8406
Fixed #29718 -- Doc'd admin template collision backwards incompatibility in Django 2.1. 2018-08-28 14:40:08 -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
Tim Graham cdc6da395a Fixed typo in docs/releases/2.0.5.txt. 2018-08-21 09:48:14 -04:00
Tim Graham d311124be5 Fixed #29682 -- Fixed admin change form crash if a view-only model's form has an extra field. 2018-08-20 11:14:20 -04: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
Jon Dufresne 09ee3b6fe3 Fixed #29663 -- Made admin change view redirect to changelist with view permission. 2018-08-17 11:13:06 -04:00
Marnanel Thurman 7cc52250f0 Fixed #29662 -- Allowed test client to accept structured suffix JSON content types. 2018-08-15 10:27:45 -04:00
Dragoon Aethis d3449faaa9 Refs #29449 -- Removed release note for "Allowed using contrib.auth forms without installing contrib.auth."
The code was reverted in f3fa86a89b.
2018-08-11 21:48:49 -04:00
Ramiro Morales b5c7cb4d33 Fixed #29653 -- Fixed missing related_query_name reverse accessor if GenericRelation is declared on an abstract base model.
Regression in 4ab027b944.

Thanks Lauri Kainulainen for the report.
2018-08-10 12:17:26 -04:00
Clément Mangin 64e1a271f5 Fixed #29637 -- Fixed admin change form crash if the user doesn’t have the add permission to a TabularInline.
Regression in 825f0beda8.
2018-08-10 11:20:43 -04:00
Tim Graham d0928d6454 Refs #29652 -- Fixed typo in docs/releases/2.1.txt. 2018-08-08 18:04:55 -04:00
Tim Graham 2fa36719a8 Fixed #29652 -- Doc'd removal of py-bcrypt compatibility. 2018-08-08 17:55:20 -04:00
Tim Graham 730173d1c5 Fixed #29623 -- Fixed translation failure of DurationField's "overflow" error message. 2018-08-08 06:24:52 -04:00
Mariusz Felisiak 9fee229874
Fixed #29643 -- Fixed crash when combining Q objects with __in lookups and lists.
Regression in fc6528b25a.
2018-08-08 08:51:20 +02:00
Tim Graham 89d4d41240 Fixed #28540 -- Doc'd a change to file upload permissions in Django 1.11.
Behavior changed in f734e2d4b2
(refs #27334).
2018-08-04 10:39:22 -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
Tim Graham 1160a97596 Refs #28584 -- Documented removal of support for SQLite < 3.7.15. 2018-08-03 14:42:26 -04:00
Mariusz Felisiak 1a9cbf41a1
Fixed #29613 -- Fixed --keepdb on PostgreSQL if the database exists and the user can't create databases.
Regression in e776dd2db6.

Thanks Tim Graham for the review.
2018-08-03 10:31:55 +02:00
Tim Graham d8e2be459f
Fixed #29627 -- Fixed QueryDict.urlencode() crash with non-string values.
Regression in 7d96f0c49a.
2018-08-02 21:56:26 -04:00
Michael Sanders 271542dad1 Fixed #29499 -- Fixed race condition in QuerySet.update_or_create().
A race condition happened when the object didn't already exist and
another process/thread created the object before update_or_create()
did and then attempted to update the object, also before update_or_create()
saved the object. The update by the other process/thread could be lost.
2018-08-02 17:07:48 -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
Tim Graham 25dd595742 Added stub release notes for 2.1.1. 2018-08-01 11:13:37 -04:00
Tim Graham 0006538e53 Added CVE-2018-14574 to the security release archive. 2018-08-01 10:51:24 -04:00
Andreas Hug a656a68127 Fixed CVE-2018-14574 -- Fixed open redirect possibility in CommonMiddleware. 2018-08-01 09:28:42 -04:00
Tim Graham 7dbe7aa0b6 Added stub release notes for security releases. 2018-08-01 09:28:42 -04:00
Tim Graham b4fa94aed8 Removed code terms from docs/spelling_wordlist. 2018-07-31 12:22:28 -04:00
Dražen Odobašić 9f3b9ffd51 Fixed #29617 -- Fixed Template crash if template_string is lazy.
Regression in 3a148f958d.
2018-07-31 09:57:11 -04:00
Carlton Gibson 5180015051 Fixed #29593 -- Added QUERY_TERMS removal to 2.1 release notes.
Removed in 244cc40155.
2018-07-26 10:42:33 -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
Maxime Lorant 31407fa3b3 Removed duplicate words in docs.
.
2018-07-18 11:24:06 -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
Michal Čihař 39e287d8bf Fixed #29544 -- Fixed regex lookup on MariaDB.
Regression in 4249076844.
2018-07-05 12:11: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
Tim Graham 2c3f198946 Added stub release notes for 2.0.8. 2018-07-03 20:05:53 -04:00
Carlton Gibson 65df375c40 Added release date for 1.11.14. 2018-07-02 10:12:20 +02: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 8c4b94d32d Forwardported 2.0.7 release note. 2018-06-28 11:07:37 -04:00
Asif Saifuddin Auvi 2f7cd7f8ec Refs #28814 -- Documented Python 3.7 compatibility. 2018-06-28 11:02:29 -04:00
Tim Graham dd367e0dae
Refs #12663 -- Removed Meta API upgrade guide. 2018-06-27 14:02:46 -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
Tom 4249076844 Refs #29451 -- Fixed regex/iregex lookups on MySQL 8. 2018-06-20 10:57:28 -04:00
Sergey Fedoseev fa453b03a6 Fixed #29507 -- Added Oracle support for Envelope GIS function. 2018-06-20 16:48:57 +05:00
Damien 7409d21a5e Clarified sentence about removal of inline flag support in url(). 2018-06-19 08:58:33 -04:00
Carlton Gibson 958c7b301e Fixed #29419 -- Allowed permissioning of admin actions. 2018-06-18 15:07:29 -04:00