1
0
mirror of https://github.com/django/django.git synced 2025-03-05 23:12:32 +00:00

9785 Commits

Author SHA1 Message Date
aspalding
217f82d713 Refs #29838 -- Fixed make_hashable() for values that have lists or dicts nested in tuples.
And for non-hashable values that are iterable, e.g. sets.
2018-10-17 11:17:50 -04:00
aspalding
834c4ec8e4 Moved make_hashable() to django.utils and added tests. 2018-10-17 11:17:23 -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
Mads Jensen
1c0bf95ff6 Refs #23919 -- Removed a stray object-inheritance.
Follow up to 081e78716085ff4af08604af5d084c8fd27c0730.
2018-10-16 09:58:53 -04:00
Jon Dufresne
0cd465b63a Fixed #29817 -- Deprecated settings.FILE_CHARSET. 2018-10-15 17:15:41 -04:00
Jon Dufresne
99d4fc18bd Refs #27829 -- Added warning for settings.DEFAULT_CONTENT_TYPE usage outside of Django. 2018-10-15 16:31:39 -04:00
oliver
1299421cad Fixed #29725 -- Removed unnecessary join in QuerySet.count() and exists() on a many-to-many relation. 2018-10-15 11:01:57 -04:00
Mariusz Felisiak
f2e2a1bd4b
Fixed #29845 -- Fixed Cast crash on MySQL when casting to DecimalField. 2018-10-15 15:57:22 +02:00
Tim Graham
70a80ff1be Added a urlize test for wrapping characters. 2018-10-12 08:13:52 +02: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
Hasan Ramezani
b5d7604cb0 Completed FixedOffset test coverage. 2018-10-09 20:32:08 -04:00
Jon Dufresne
e90af8bad4 Capitalized "Python" in docs and comments. 2018-10-09 09:26:07 -04:00
Jon Dufresne
31c0348687 Fixed postgres_tests.test_signals.OIDTests when run in isolation. 2018-10-09 09:23:36 -04:00
Eric Brandwein
b0b4aac555 Fixed #29775 -- Fixed URL converters in a nested namespaced path.
When using include() without namespaces of some urlpatterns that
have an include() with namespace, the converters of the parent
include() weren't being used to convert the arguments of reverse().
2018-10-04 11:42:27 -04:00
Jon Dufresne
5a23a285de Used skip(If|Unless)DBFeature in transactions tests. 2018-10-04 10:09:06 -04:00
Jon Dufresne
9f6d0c11eb Removed Jinja2 dependency from admin_checks tests. 2018-10-04 16:05:22 +02:00
Jon Dufresne
9b508bdb9b Removed unnecessary skipUnless in HTTPSitemapTests.
contrib.sites is included in INSTALLED_APPS by SitemapTestsBase.
2018-10-04 08:50:18 -04:00
Jon Dufresne
bdae19cf63 Refs #27795 -- Removed force_bytes() usage in sessions.
SessionBase.decode() is the inverse operation to SessionBase.encode().
As SessionBase.encode() always returns a string, SessionBase.decode()
should always be passed a string argument. Fixed the file backend, which
was the only backend still passing a bytestring.
2018-10-03 11:11:42 +02:00
Stefano Chiodino
6de7f9ec60 Fixed #29598 -- Deprecated FloatRangeField in favor of DecimalRangeField. 2018-10-02 19:17:23 -04:00
Simon Charette
bc7e288ca9 Fixed #29745 -- Based Expression equality on detailed initialization signature.
The old implementation considered objects initialized with an equivalent
signature different if some arguments were provided positionally instead of
as keyword arguments.

Refs #11964, #26167.
2018-10-02 19:15:20 -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
Simon Charette
24dc7d8940 Refs #29641 -- Extracted reusable CheckConstraint logic into a base class. 2018-10-02 13:11:18 -04:00
Simon Charette
9142bebff2 Refs #11964 -- Changed CheckConstraint() signature to use keyword-only arguments.
Also renamed the `constraint` argument to `check` to better represent which
part of the constraint the provided `Q` object represents.
2018-10-02 10:53:04 -04:00
Przemysław Buczkowski
70d0a1ca02 Fixed #29711 -- Added a system check for uniquness of admin actions' __name__. 2018-10-02 09:17:23 -04:00
Jon Dufresne
7598cd4748 Fixed #29813 -- Fixed DatabaseOperation test when run in isolation on MySQL. 2018-10-02 08:22:38 -04:00
Abhinav Patil
bf01994a5c Fixed #29804 -- Added 'did you mean' suggestions for unsupported lookup error. 2018-10-01 19:03:10 -04:00
Jon Dufresne
b3b47bf515 Added tests for using bytearray with BinaryField and corrected docs. 2018-10-01 09:16:16 -04:00
Claude Paroz
fc3a463048 Fixed #29767 -- Made date-related casts work on SQLite
Thanks Rémy Hubscher for the report and Tim Graham and Simon Charette for the reviews.
2018-10-01 13:27:30 +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
Claude Paroz
ddcb9e8062 Refs #21408 -- Updated naturaltime translation test.
Upcoming German translations will not differ for past and future naturaltime
translations. Using Czech language instead.
2018-09-29 15:06:11 +02:00
Sergey Fedoseev
8ef8bc0f64 Refs #28909 -- Simplifed code using unpacking generalizations. 2018-09-28 09:57:12 -04:00
Tim Graham
4fc8fb7dda
Tested showmigrations with apps without migrations. 2018-09-28 09:56:40 -04:00
Paweł Kołodziej
05c578bc1f Fixed #29796 -- Added system check for STATICFILES_DIRS prefix ending with a slash. 2018-09-27 19:49:37 -04:00
Marten Kenbeek
40c8ffad72 Fixed #29768 -- Improved error message when an AppConfig has a typo in INSTALLED_APPS. 2018-09-26 16:12:21 -04:00
Ramon Saraiva
2349cbd909 Fixed #29782 -- Added better error message when filtering queryset with AnonymousUser. 2018-09-26 15:36:19 -04:00
Matthew Power
18098d261f Fixed #29673 -- Reset the URLconf at the end of each request.
Co-authored-by: Ross Thorne <rmwthorne@googlemail.com>
2018-09-26 15:35:24 -04:00
Sergey Fedoseev
91841c77cd Fixed loaddata error message when uncompressed fixture has a dot in its name. 2018-09-26 15:30:15 -04:00
Jon Dufresne
fb2964a410 Added test of filtering on BinaryField and corrected docs. 2018-09-26 14:38:12 -04:00
Mariusz Felisiak
024abe5b82
Fixed #29630 -- Fixed crash of sliced queries with multiple columns with the same name on Oracle 12.1.
Regression in 0899d583bdb140910698d00d17f5f1abc8774b07.

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 3b429c96736b8328c40e5d77282b0d30de563c3c.
2018-09-25 16:00:20 -04:00
Alexey
8624459586 Added a test for password_changed() with a custom validator. 2018-09-25 11:58:05 -04:00
Jon Dufresne
bb81c22d90 Refs #27795 -- Removed force_bytes() usage in utils/_os.py. 2018-09-25 11:27:36 -04:00
Ian Foote
9a0e0d966a Refs #11964 -- Renamed a database check constraint test. 2018-09-25 11:14:45 -04:00
Sergey Fedoseev
747db4018b Simplified AdminFieldExtractionMixin.get_admin_form_fields(). 2018-09-25 11:06:41 -04:00
Jon Dufresne
8c3e0eb1c1 Normalized spelling of "lowercase" and "lowercased". 2018-09-25 10:30:18 -04:00