1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00
Commit Graph

4348 Commits

Author SHA1 Message Date
Min ho Kim
fbb83fefd4 Fixed typos in comments and docs. 2019-07-02 09:36:17 +02:00
Jon Dufresne
42b9a23267 Fixed #30400 -- Improved typography of user facing strings.
Thanks Claude Paroz for assistance with translations.
2019-06-28 16:46:18 +02:00
can
f03b7bd114 Fixed #28408 -- Added error message when updating with annotated expressions on joined fields.
Co-Authored-By: Simon Charette <charette.s@gmail.com>
2019-06-28 07:55:32 +02:00
can
325d5d6445 Fixed #30477 -- Made reverse lookup use Field.get_db_prep_value() from the target field. 2019-06-25 10:20:33 +02:00
Nadège Michel
87b1ad6e73 Fixed #30421 -- Allowed symmetrical intermediate table for self-referential ManyToManyField. 2019-06-21 15:03:17 +02:00
Andrew Godwin
a415ce70be Fixed #30451 -- Added ASGI handler and coroutine-safety.
This adds an ASGI handler, asgi.py file for the default project layout,
a few async utilities and adds async-safety to many parts of Django.
2019-06-20 12:29:43 +02:00
can
2cbd3967e0 Fixed #29834 -- Fixed column mismatch crash with QuerySet.values()/values_list() and order_by() on combined querysets. 2019-06-19 12:11:28 +02:00
Mariusz Felisiak
14d026cccb Fixed #30572 -- Prevented values()/values_list() on combined queryset from mutating the list of columns in querysets. 2019-06-19 10:44:53 +02:00
can
fde9b7d35e Fixed #30128 -- Fixed handling timedelta timezone in database functions. 2019-06-13 09:29:43 +02:00
CruxBox
34f8eeea4a Fixed #30548 -- Improved exception when expression contains mixed types. 2019-06-10 19:48:53 +02:00
Étienne Beaulé
4b6dfe1622 Fixed #30542 -- Fixed crash of numerical aggregations with filter.
Filters in annotations crashed when used with numerical-type
aggregations (i.e. Avg, StdDev, and Variance). This was caused as the
source expressions no not necessarily have an output_field (such as the
filter field), which lead to an AttributeError: 'WhereNode' object has
no attribute output_field.

Thanks to Chuan-Zheng Lee for the report.

Regression in c690afb873 and two following
commits.
2019-06-05 08:06:26 +02:00
Mariusz Felisiak
f6075fb333 Fixed #26192 -- Fixed crash of ordering by constants on PostgreSQL.
Thanks Simon Charette for the review.
2019-05-31 07:38:48 +02:00
葛汉斌
fcbc502af9 Simplified Model.save() a bit. 2019-05-28 15:40:31 +02:00
Mariusz Felisiak
b6c4766f53 Refs #29548 -- Updated docs for MariaDB support. 2019-05-27 19:59:49 +02:00
Mariusz Felisiak
f8b8b00f01 Fixed #30501 -- Preventing QuerySet.reverse() from mutating expressions in QuerySet.order_by and Meta.ordering. 2019-05-23 20:33:37 +02:00
Hasan Ramezani
1378d665a1 Fixed #28816 -- Prevented silencing data loss when decreasing CharField.max_length on PostgreSQL. 2019-05-21 14:15:43 +02:00
Rob
519016e5f2 Fixed #28147 -- Fixed loss of assigned parent when saving child after parent.
Thanks Erwin Junge for the initial patch.
2019-05-21 10:11:22 +02:00
Simon Charette
514104cf23 Refs #29396, #30494 -- Reduced code duplication in year lookups. 2019-05-21 07:25:09 +02:00
Simon Charette
2b582a7b84 Fixed #29396 -- Added indirect values support to __year lookups.
Thanks Windson Yang for the initial patch.
2019-05-21 07:12:33 +02:00
Simon Charette
4d1420947e Fixed #30494 -- Disabled __year lookup optimization for indirect values.
The previous heuristics were naively enabling the BETWEEN optimization on
successful cast of the first rhs SQL params to an integer while it was
not appropriate for a lot of database resolved expressions.

Thanks Alexey Chernov for the report.
2019-05-21 07:11:26 +02:00
ruchit2801
04042b2b44 Fixed #30463 -- Fixed crash of deprecation message when Meta.ordering contains expressions.
Regression in 1b1f64ee5a.
2019-05-18 19:29:00 +02:00
Iain Watts
59ffafa1d2 Fixed #30482 -- Prevented unnecessary evaluation of lookup.queryset in prefetch_related_objects(). 2019-05-16 21:39:55 +02:00
Rob
c231a75112 Fixed #30436 -- Added check that on_delete is callable in ForeignKey and OneToOneField. 2019-05-13 07:25:42 +02:00
Amir Hadi
330638b89f Fixed #6785 -- Made QuerySet.get() fetch a limited number of rows.
Co-authored-by: Tim Graham <timograham@gmail.com>
Co-authored-by: Patryk Zawadzki <patrys@room-303.com>
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-05-12 07:05:24 +02:00
Przemysław Suliga
af5ec222cc Used time.monotonic() instead of time.time() where applicable.
time.monotonic() available from Python 3.3:

- Nicely communicates a narrow intent of "get a local system monotonic
  clock time" instead of possible "get a not necessarily accurate Unix
  time stamp because it needs to be communicated to outside of this
  process/machine" when time.time() is used.
  
- Its result isn't affected by the system clock updates.

There are two classes of time.time() uses changed to time.monotonic()
by this change:

- measuring time taken to run some code.

- setting and checking a "close_at" threshold for for persistent db
  connections (django/db/backends/base/base.py).
2019-05-08 18:34:22 +02:00
Rob
6b736dd074 Fixed #30349 -- Fixed QuerySet.exclude() on FilteredRelation.
Using annotated FilteredRelations raised a FieldError when coupled with
exclude(). This is due to not passing filtered relation fields to the
subquery created in split_exclude(). We fixed this issue by passing the
filtered relation data to the newly created subquery.

Secondly, in the case where an INNER JOIN is used in the excluded
subquery, the ORM would trim the filtered relation INNER JOIN in attempt
to simplify the query. This will also remove the ON clause filters
generated by the FilteredRelation. We added logic to not trim the INNER
JOIN if it is from FilteredRelation.
2019-05-07 14:47:50 +02:00
Rob Golding-Day
4043dc69cd Fixed #30444 -- Moved SQL generation for tables to BaseDatabaseSchemaEditor.table_sql(). 2019-05-07 10:28:14 +02:00
Tobias Kunze
a44a21a22f Fixed #26678 -- Doc'd that RelatedManager.add()/remove()/set() accepts the field the relation points to. 2019-05-07 08:55:45 +02:00
Daniel Hahler
6d37c089ae Readded comment about the default params of cursor.execute().
It was removed in in 728548e483.
2019-05-07 08:13:30 +02:00
Stephen Brown
86a3ad351e Fixed #30339 -- Made Model.delete(keep_parents=True) preserves nested parent reverse relationships.
Thanks Simon Charette for the review.
2019-05-06 13:04:31 +02:00
can
567b9928a3 Fixed #29692 -- Fixed removing ordering parts for multiline RawSQL expressions. 2019-05-03 07:37:37 +02:00
Mykola Kokalko
ef082ebb84 Fixed #29529 -- Allowed models.fields.FilePathField to accept a callable path. 2019-05-02 11:11:56 +02:00
zeyneloz
6485a5f450 Fixed #30409 -- Allowed using foreign key's attnames in unique/index_together and Index's fields. 2019-05-01 11:51:27 +02:00
can
719b746620 Fixed #30412 -- Fixed crash when adding check constraints with OR'ed condition on Oracle and SQLite. 2019-04-30 12:32:27 +02:00
Simon Charette
a8b3f96f6a Fixed #30408 -- Fixed crash when adding check constraints with LIKE operator on Oracle and PostgreSQL.
The LIKE operator wildcard generated for contains, startswith, endswith and
their case-insensitive variant lookups was conflicting with parameter
interpolation on CREATE constraint statement execution.

Ideally we'd delegate parameters interpolation in DDL statements on backends
that support it but that would require backward incompatible changes to the
Index and Constraint SQL generating methods.

Thanks David Sanders for the report.
2019-04-30 07:38:22 +02:00
kingbuzzman
673fe2e3ec Fixed #30148 -- Logged COPY ... TO statements in connection.queries on PostgreSQL. 2019-04-29 14:20:17 +02:00
kingbuzzman
f7408b49a5 Refs #30148 -- Moved logging queries in CursorDebugWrapper to debug_sql() contextmanager. 2019-04-29 13:34:32 +02:00
Jon Dufresne
dbe436a9a9 Simplified Field.contribute_to_class(). 2019-04-29 07:54:32 +02:00
Jon Dufresne
8b3f1c35dd Removed unnecessary assignments in various code. 2019-04-24 13:09:29 +02:00
can
c00b4dbda2 Fixed #29810 -- Fixed crash of select_related() on FilteredRelation with empty result. 2019-04-23 13:48:33 +02:00
Mariusz Felisiak
994a00eb70 Refs #30380 -- Used cursor._executed in DatabaseOperations.last_executed_query() on MySQL.
Regression in a41b09266d.

Thanks Tobias Krönke for the report.
2019-04-21 12:17:05 +02:00
Mariusz Felisiak
a41b09266d Fixed #30380 -- Handled bytes in MySQL backend for PyMySQL support.
This commit partly reverts efd8a82e26.
2019-04-19 20:34:20 +02:00
Scott Fitsimones
a14c0fda15 Fixed #30328 -- Fixed crash of IntegerField.validators when limit_value in a custom validator is callable. 2019-04-19 07:58:27 +02:00
Ramiro Morales
aed89adad5 Fixed #30367 -- Changed "pip install" to "python -m pip install" in docs, comments and hints. 2019-04-18 14:41:15 +02:00
Ville Skyttä
03db5fddfd Fixed typos in docs, comments, and exception messages. 2019-04-18 09:33:53 +02:00
Oleh Mykytiuk
177fa08339 Fixed #30370 -- Added dbshell support for client TLS certificates on PostgreSQL. 2019-04-18 08:10:31 +02:00
can
d87bd29c4f Fixed #30335, #29139 -- Fixed crash when ordering or aggregating over a nested JSONField key transform. 2019-04-18 07:16:50 +02:00
Simon Charette
f110de5c04 Fixed #30191 -- Selected only referenced fields during cascade deletion.
The non-referenced fields can only be deferred if no deletion signals
receivers are connected for their respective model as connected as these
receivers might expect all fields of the deleted model to be present.

Thanks Ed Morley for the report.
2019-04-17 13:41:23 +02:00
Simon Charette
26c4be2ebe Refs #18676 -- Enabled fast-delete for m2m_changed senders.
There's no reason to disable fast-delete when an intermediary
many-to-many model has connected m2m_changed receivers because the
signal is only sent when related manager's clear() and remove() methods
are directly called.

This must have been overlooked in 1cd6e04cd4
given no regression tests fail when m2m_changed is not taken into
consideration to determine if fast-delete can be enabled.
2019-04-17 13:24:31 +02:00
Vinny Do
a4055adf70 Fixed #30368 -- Fixed prefetch_related() for GenericForeignKey when PK is also a FK. 2019-04-16 09:49:16 +02:00