Commit Graph

1624 Commits

Author SHA1 Message Date
Tim Graham e2ea30c440 [1.8.x] Fixed #24979 -- Removed usage of inspect.getargspec().
Backport of 3872a33132 from master
2015-10-25 06:02:21 -04:00
Simon Charette 71962629c0 [1.8.x] Fixed #25563 -- Cached deferred models in their proxied model's _meta.apps.
Thanks to Andriy Sokolovskiy for the report and Tim Graham for the review.

Backport of 3db3ab71e9 from master
2015-10-19 20:13:47 -04:00
Josh Smeaton 61ea371822 Refs #25517 -- Fixed backport inconsistencies. 2015-10-19 12:06:11 +11:00
Josh Smeaton 42e029f6c4 [1.8.x] Fixed #25517 -- Made Concat function idempotent on SQLite.
Backport of 6c95b134e9 from master
2015-10-17 15:58:17 -04:00
Antoine Catton ee6785ebea [1.8.x] Fixed #25506 -- Allowed filtering over a RawSQL annotation.
Co-Authored-By: Gavin Wahl <gwahl@fusionbox.com>

Backport of b971c1cd78 from master
2015-10-14 12:21:36 -07:00
Andriy Sokolovskiy eb85e6672a [1.8.x] Fixed #24156 -- Fixed inherited related name of ManyToManyField.
Fixed situation when parent abstract model declares related_name='+'
and child models had an invalid queryset.

Backport of f7b2978158 from master
2015-10-13 04:17:50 -07:00
Mariusz Felisiak 4ec96b776b [1.8.x] Fixed #25503 -- Fixed system check crash on ForeignKey to abstract model.
Backport of 914167abf1 from master
2015-10-06 19:26:00 -04:00
Marco Fucci 0e2d3b9304 [1.8.x] Fixed #24505 -- Fixed clash with hidden m2m fields.
Added support for multiple m2m fields with the same 'to' model
and with related_name set to '+'.

Backport of 4ee08958f1 from master
2015-09-30 18:38:49 -04:00
Aymeric Augustin 1abd177696 [1.8.x] Fixed #25160 (again) -- Moved data loss check on reverse relations.
Moved data loss check when assigning to a reverse one-to-one relation on
an unsaved instance to Model.save(). This is exactly the same change as
e4b813c but for reverse relations.

Backport of c3904de from master
2015-09-19 20:28:22 +02:00
Aric Coady 7d471fe662 [1.8.x] Refs #20625 -- Fixed custom queryset chaining with values() and values_list(). 2015-09-17 19:20:09 -04:00
Adam Chainz 3c2c74f58f [1.8.x] Fixed #25377 -- Changed Count queries to execute COUNT(*) instead of COUNT('*').
Backport of 3fe3887a2e from master
2015-09-14 14:07:32 -04:00
Tim Graham 62347208bb [1.8.x] Fixed #24525 -- Fixed AssertionError in some complex queries.
Thanks Anssi Kääriäinen for providing the solution.

Backport of 2dc9ec5616 from master
2015-09-05 08:19:38 -04:00
Tim Graham ffe755e990 [1.8.x] Fixed #24951 -- Fixed AssertionError in delete queries involving a foreign/primary key.
Thanks Anssi Kääriäinen for help.

Backport of 333cbdcd2d from master
2015-08-20 08:46:08 -04:00
Tim Graham e4b813c0e7 [1.8.x] Fixed #25160 -- Moved unsaved model instance data loss check to Model.save()
This mostly reverts 5643a3b51b and
81e1a35c36.

Thanks Carl Meyer for review.

Backport of 5980b05c1f from master
2015-08-10 11:31:22 -04:00
Matt Johnson 05c7129bf2 [1.8.x] Fixed #12768 -- Fixed QuerySet.raw() regression on FK with custom db_column.
Backport of e063ac2fae from master
2015-07-23 18:44:58 -04:00
薛丞宏 a97e50c5e6 [1.8.x] Fixed #25016 -- Reallowed non-ASCII values for ForeignKey.related_name on Python 3.
Backport of d3e12c9017 from master
2015-06-26 08:35:13 -04:00
Tim Graham ae1d663b79 [1.8.x] Renamed RemovedInDjango20Warning to RemovedInDjango110Warning. 2015-06-23 07:22:16 -04:00
Markus Holtermann f64a3de2d4 [1.8.x] Fixed #24940 -- Made model managers hashable
Thanks Federico Jaramillo Martínez for the report and Tim Graham for the
test and review.

Backport of d3d66d4722 from master
2015-06-19 19:15:01 +02:00
Brian King c58755d875 [1.8.x] Fixed #24912 -- Fixed prefetch_related failure for UUIDField primary keys
This resolves a problem on databases besides PostgreSQL when using
prefetch_related with a source model that uses a UUID primary key.

Backport of bfb5b7150f from master
2015-06-15 17:31:50 -04:00
Andriy Sokolovskiy b4b13759f8 [1.8.x] Fixed #24744 - Fixed relabeled_clone for the Transform
Backport of 08232ef84d from master
2015-06-06 09:11:46 -04:00
Mark Lavin 0cfb7ed5c5 [1.8.x] Fixed #24924 -- Join promotion for multiple Case expressions
Backport of 541f4ea546 from master
2015-06-05 12:23:08 -04:00
Andriy Sokolovskiy 469f1e362b [1.8.x] Fixed #24833 -- Fixed Case expressions with exclude(). 2015-06-05 11:03:41 -04:00
Andriy Sokolovskiy 9d83de8ff3 [1.8.x] Fixed #24831 -- Fixed pickling queryset with prefetch_related() after deleting objects.
Backport of 2913d6b77d from master
2015-06-02 10:07:45 -04:00
Paweł Marczewski 2aa2b9f291 [1.8.x] Fixed #24835 -- Fixed QuerySet.exists() after an annotation with Count()
QuerySet.exists() incorrectly handled query.group_by = True
case (grouping by all select fields), causing GROUP BY
expressions to be wiped along with select fields.

Backport of 801a84ae32 from master
2015-05-25 20:47:28 -04:00
Anssi Kääriäinen db65660928 [1.8.x] Fixed #24705 -- Fixed negated Q objects in expressions.
Avoided split_exclude() for Q when used as an expression.

Backport of bc87061a3c from master
2015-05-20 09:41:42 -04:00
Abhaya Agarwal 290c9d6654 [1.8.x] Fixed #24698, #24712 -- Added ForeignKey.get_db_prep_value()
Fixed crashes with ForeignKey to UUIDField and inheritance with UUIDField
primary keys.
2015-05-12 19:37:37 -04:00
Anssi Kääriäinen d5ce2dd7bc [1.8.x] Fixed #24748 -- Fixed incorrect GROUP BY on MySQL in some queries
When the query's model had a self-referential foreign key, the
compiler.get_group_by() code incorrectly used the self-referential
foreign key's column (for example parent_id) as GROUP BY clause
when it should have used the model's primary key column (id).

Backport of adc57632bc from master
2015-05-11 11:52:14 -04:00
Anssi Kääriäinen 056a91dbfa [1.8.x] Fixed #24766 -- Added join promotion for Case expressions
Backport of be9d645346 from master
2015-05-11 11:17:37 -04:00
Tim Graham 6a7b27c743 [1.8.x] Fixed #24758 -- Corrected Options.get_fields() docstring.
Backport of b99114f67f from master
2015-05-08 13:19:32 -04:00
Anssi Kääriäinen 5b5858575c [1.8.x] Fixed #24752 -- query crash when reusing Case expressions
Case expressions weren't copied deep enough (self.cases list was
reused resulting in an error).

Backport of 7b05d2fdae from master
2015-05-05 11:38:48 -04:00
Aric Coady b67bd1b483 [1.8.x] Fixed #24719 -- Restored the ability to use interators as queryset related object filters.
Backport of 9c2d8cde77 from master
2015-04-28 11:00:58 -04:00
Anssi Kääriäinen 581afddc77 [1.8.x] Fixed #24605 -- Fixed incorrect reference to alias in subquery.
Thanks to charettes and priidukull for investigating the issue, and to
kurevin for the report.

Backport of 355c5edd93 from master
2015-04-16 09:31:29 -04:00
Anssi Kääriäinen 70ff455a35 [1.8.x] Fixed #24615 -- ordering by expression not part of SELECT
Fixed queries where an expression was used in order_by() but the
expression wasn't in the query's select clause (for example the
expression could be masked by .values() call)

Thanks to Trac alias MattBlack85 for the report.
Backport of fb5c7748da from master.
2015-04-16 09:42:42 +02:00
Jay Wineinger 496800b3bf [1.8.x] Fixed #24611 -- Fixed update() crash with related UUID pk object.
Backport of 923da0274a from master
2015-04-13 12:20:41 -04:00
Tim Graham b1dc128a03 [1.8.x] Fixed #24578 -- Fixed crash with QuerySet.update() on FK to O2O fields.
Thanks Anssi Kääriäinen for review.

Backport of 10b4c010ab2cdaa6ba8bfaec3e3540299ea77be from master
2015-04-09 08:24:07 -04:00
Josh Smeaton e654123f7f Fixed #24485 -- Allowed combined expressions to set output_field 2015-03-22 17:41:12 +11:00
Josh Smeaton 3a1886d111 [1.8.x] Fixed #24508 -- Made annotations commutative
Backport of 127b3873d0 from master
2015-03-22 17:35:22 +11:00
Karl Hobley a8c53041f9 [1.8.x] Fixed #24495 -- Allowed unsaved model instance assignment check to be bypassed.
Backport of 81e1a35c36 from master
2015-03-18 19:12:46 -04:00
Josh Smeaton a0cebe82b5 [1.8.x] Refs #24485 -- Renamed some expression types
Backport of 88d798d71a from master
2015-03-17 08:40:45 -04:00
Josh Smeaton 34e09e532d [1.8.x] Fixed #24486 -- Fixed error with datetime and DurationField arithmetic
Backport of ff2aa40192 from master
2015-03-17 08:36:15 -04:00
Anssi Kääriäinen 3a0fe942dd [1.8.x] Fixed #24171 -- Fixed failure with complex aggregate query and expressions
The query used a construct of qs.annotate().values().aggregate() where
the first annotate used an F-object reference and the values() and
aggregate() calls referenced that F-object.

Also made sure the inner query's select clause is as simple as possible,
and made sure .values().distinct().aggreate() works correctly.

Backport of fb146193c4 from master
2015-03-09 07:51:05 -04:00
Josh Smeaton 823f8cdbc9 [1.8.x] Fixed #24420 -- Allowed ordering by case expressions
Backport of ceaf31adff from master
2015-03-06 13:31:43 +11:00
Claude Paroz b825ec38c1 [1.8.x] Fixed #24418 -- Prevented crash in refresh_from_db with null fk
Thanks Johannes Lerch for the report, Tim Graham for the test case,
and Simon Charette for the review.
Backport of 5cf96b49e4 from master.
2015-02-27 20:25:12 +01:00
Anssi Kääriäinen 155a127afb [1.8.x] Fixed #24381 -- removed ForeignObjectRel opts and to_opts
These cached properies were causing problems with pickling, and in
addition they were confusingly defined: field.rel.model._meta was
not the same as field.rel.opts.

Instead users should use field.rel.related_model._meta inplace of
field.rel.opts, and field.rel.to._meta in place of field.rel.to_opts.

Backport of f95122e541 from master
2015-02-23 07:26:10 -05:00
Michael Angeletti 1feeefe918 [1.8.x] Fixed #24376 -- added verbose_name arg to UUIDField
Backport of ea3168dc6c from master
2015-02-21 14:26:47 -05:00
Don Kirkby 5131aec7d2 [1.8.x] Fixed typo in django/db/models/fields/files.py comment.
Backport of 99a1bbf985 from master
2015-02-20 20:11:58 -05:00
Anssi Kääriäinen 6f03a4ca91 [1.8.x] Fixed #24328 -- cleaned up Options._get_fields() implementation
Backport of bad5f262bf from master
2015-02-20 13:11:59 -05:00
Loic Bistuer 3a6c37fce4 [1.8.x] Fixed #24351, #24346 -- Changed the signature of allow_migrate().
The new signature enables better support for routing RunPython and
RunSQL operations, especially w.r.t. reusable and third-party apps.

This commit also takes advantage of the deprecation cycle for the old
signature to remove the backward incompatibility introduced in #22583;
RunPython and RunSQL won't call allow_migrate() when when the router
has the old signature.

Thanks Aymeric Augustin and Tim Graham for helping shape up the patch.

Refs 22583.

Conflicts:
	django/db/utils.py

Backport of bed504d70b from master
2015-02-20 21:55:50 +07:00
Marc Tamlyn 3886338c1d [1.8.x] Update converters to take a consistent set of parameters.
As suggested by Anssi. This has the slightly strange side effect of
passing the expression to Expression.convert_value has the expression
passed back to it, but it allows more complex patterns of expressions.

Backport of 32d4db66b9 from master
2015-02-20 11:47:48 +00:00
Marc Tamlyn c54d73ae01 [1.8.x] Fixed #24343 -- Ensure db converters are used for foreign keys.
Joint effort between myself, Josh, Anssi and Shai.

Conflicts:
	django/db/models/query.py
	tests/model_fields/models.py

Backport of 4755f8fc25 from master.
2015-02-20 11:46:57 +00:00