Commit Graph

16274 Commits

Author SHA1 Message Date
Loic Bistuer f51c1f5900 Fixed #17001 -- Custom querysets for prefetch_related.
This patch introduces the Prefetch object which allows customizing prefetch
operations.

This enables things like filtering prefetched relations, calling select_related
from a prefetched relation, or prefetching the same relation multiple times
with different querysets.

When a Prefetch instance specifies a to_attr argument, the result is stored
in a list rather than a QuerySet. This has the fortunate consequence of being
significantly faster. The preformance improvement is due to the fact that we
save the costly creation of a QuerySet instance.

Thanks @akaariai for the original patch and @bmispelon and @timgraham
for the reviews.
2013-11-07 14:49:49 +02:00
Anssi Kääriäinen b1b04df065 Fixed #20600 -- ordered distinct(*fields) in subqueries 2013-11-07 14:29:50 +02:00
Anssi Kääriäinen ccbba98131 Removed non-necessary code in Compiler._setup_joins() 2013-11-07 12:57:02 +02:00
Anssi Kääriäinen ba6c9fae45 Removed Query.setup_joins() and join() argument outer_if_first.
Instead always create new joins as OUTER.
2013-11-07 12:57:02 +02:00
Anssi Kääriäinen e7b61e5717 Fixed #11320 -- exclude() too aggressive in join promotion 2013-11-07 12:57:02 +02:00
Anssi Kääriäinen 6fe2b001db Fixed #21376 -- New implementation for query join promotion logic
This commit introduced a new class JoinPromoter that can be used to
abstract away join promotion problems for complex filter conditions.
Query._add_q() and Query.combine() now use the new class.

Also, added a lot of comments about why join promotion is done the way
it is.

Thanks to Tim Graham for original report and testing the changes, and
for Loic Bistuer for review.
2013-11-07 12:53:26 +02:00
Aymeric Augustin ae029b440a 1.6 isn't under development any more.
Partial forward port of a71ff76 from stable/1.6.x.
2013-11-07 08:17:17 +01:00
Alex Gaynor e5b7045422 flake8 fixes 2013-11-06 20:00:48 -08:00
Baptiste Mispelon f16abe44a1 Added missing info to the release checklist. 2013-11-06 18:05:40 +01:00
Andrew Godwin c7bf4c27a0 Allow squashing of squashed migrations 2013-11-06 15:27:08 +00:00
Andrew Godwin 106b019dc9 Massive migration optimiser improvements + RenameModel opn 2013-11-06 13:47:58 +00:00
Baptiste Mispelon 8265323c91 Distinguish between browser-deprecated locales and internally
deprecated ones.

Thanks to bouke for pointing this out.
2013-11-06 12:27:35 +01:00
Baptiste Mispelon 366bdc4566 Fixed typos in documentation. 2013-11-06 10:47:07 +01:00
Baptiste Mispelon 3c4832214f Fixed another typo introduced by b914991b37.
Thanks Claude for catching it.
2013-11-06 10:22:29 +01:00
Ramiro Morales a9093dd376 Fixed #21387 -- Merge two very similar help texts. 2013-11-06 00:35:20 -03:00
Simon Charette 87908b4fc2 Fixed a documentation typo introduced by b914991b37. 2013-11-05 19:38:46 -05:00
Baptiste Mispelon b914991b37 Added more tests and documentation for dictsort.
It's possible to use something like {{ foo|dictsort:'bar.baz' }}
but this wasn't tested or documented.
2013-11-06 00:26:58 +01:00
Aymeric Augustin c349bcbdf9 Improved English in release notes for runserver.
Thanks Tim.
2013-11-05 21:02:33 +01:00
Baptiste Mispelon 79716dcca8 Fix python2 breakage caused by e5e044da87. 2013-11-05 19:51:54 +01:00
Bouke Haarsma e5e044da87 Fixed #18419 -- Full backwards compatibility for old language codes
Improved documentation about zh-* deprecation and upgrade path.

Thanks to Baptiste Mispelon for the code reviews.
2013-11-05 19:26:58 +01:00
Anssi Kääriäinen 76da053641 Fixed #10461 -- bug in generic relation + annotate() case
This issue was fixed when the contenttype restriction was moved from
where clause to the join clause. So, this is tests only addition.
2013-11-05 20:02:24 +02:00
Alex Gaynor 8a0489221e Flake8 fixes 2013-11-05 09:17:50 -08:00
Baptiste Mispelon bdca494464 Fixed python3 breakage introduced by c0a2388a1c. 2013-11-04 23:57:43 +01:00
Aymeric Augustin da235c9a84 Improved changelog for runserver in 1.7. 2013-11-04 23:29:09 +01:00
Aymeric Augustin 859a20560e Merge pull request #1868 from Bouke/tickets/18419
Fixed #18149 -- Changed language codes for Chinese
2013-11-04 14:17:34 -08:00
Bouke Haarsma c0a2388a1c Fixed #18149 -- Changed language codes for Chinese
Language codes for Chinese are zh_Hans (Simplified) and zh_Hant (Traditional).
Added support for browsers that still send the deprecated language codes.

Thanks to Olli Wang for the report.
2013-11-04 23:03:28 +01:00
Aymeric Augustin cb2c3ce154 Merge pull request #1821 from Bouke/tickets/14170
#14170 -- Reset i18n cache when settings changed
2013-11-04 13:50:21 -08:00
Aymeric Augustin 37a2e70cec Updated the set of watched files after each request.
Otherwise the kqueue-based autoreloader may not see changes to files
that weren't imported when the server started.

Thanks Bouke Haarsma for the report and Loïc Bistuer for locating the
problem.
2013-11-04 22:37:36 +01:00
Alex Gaynor 8ecba51ea0 Simplify (and very very slightly speed up) the pbkdf2 implementation 2013-11-04 09:45:27 -08:00
Bouke Haarsma 9b95fa7777 Fixed #21322 -- Error message when CSRF cookie is missing
Thanks to Henrik Levkowetz and olau for their reports and initial patches.
2013-11-03 20:05:10 +01:00
Alex Gaynor f67e18f39e Fixed all E251 violations 2013-11-03 10:17:58 -08:00
Alex Gaynor c347f78cc1 Fixed all E226 violations 2013-11-03 10:08:55 -08:00
Alex Gaynor 7288e1b02b Merge pull request #1852 from jasonamyers/cleanup/PEP8
Cleanup/pep8 tests
2013-11-03 09:51:49 -08:00
Alex Gaynor 91078f5669 Merge pull request #1861 from milmazz/E251
Fixed flake8 E251 violations
2013-11-03 09:42:31 -08:00
Jason Myers 4f151da1e5 Merging in master
Signed-off-by: Jason Myers <jason@jasonamyers.com>
2013-11-03 07:19:25 -06:00
Florian Apolloner 08e2ecee3b Fixed some testfailures on jenkins.
Depending on the order of the tests beeing run, 10 can be a valid pk,
0 can never be a valid pk and as such we will get the wanted ValidationError.
2013-11-03 14:16:48 +01:00
Florian Apolloner f40f90d63b Fixed regressions from 36ded01527.
Refs #21302
2013-11-03 12:45:15 +01:00
Jim Bailey 539e3693d4 Fixed #20849 -- ModelForms do not work well with prefetch_related.
model_to_dict() (used when rendering forms) queries the database
to get the list of primary keys for ManyToMany fields. This is
unnecessary if the field queryset has been prefetched, all the
keys are already in memory and can be obtained with a simple
iteration.
2013-11-03 12:27:54 +02:00
Milton Mazzarri cbc7cbbc5b Fixed flake8 E251 violations 2013-11-03 03:22:11 -06:00
Alex Gaynor 4202d9cf0c Whitespace fix 2013-11-03 01:53:28 -07:00
Alex Gaynor 6c1b55d61a Re-expose Count here 2013-11-03 01:52:40 -07:00
Bouke Haarsma d0669843d0 Fixed #14170 -- Reset i18n cache when settings change 2013-11-03 09:36:09 +01:00
Aymeric Augustin 881851f3bb Merge pull request #1853 from loic/dst
Fixed failing test around DST change.
2013-11-03 01:14:17 -07:00
Jason Myers 6f07027385 Merging Upstream
Signed-off-by: Jason Myers <jason@jasonamyers.com>
2013-11-02 23:52:24 -05:00
Jason Myers 7a61c68c50 PEP8 cleanup
Signed-off-by: Jason Myers <jason@jasonamyers.com>
2013-11-02 23:50:49 -05:00
Alex Gaynor 0fdb692c6c Fixed the remaining E302 violations int eh django package 2013-11-02 23:50:48 -05:00
Ray Ashman Jr 8f85e73458 Checkout prior commit of _doctest.py 2013-11-02 23:50:48 -05:00
Ray Ashman Jr 776ee92f00 Revert change to django/test/_doctest.py 2013-11-02 23:50:48 -05:00
Ray Ashman Jr 5732bc52f1 Correct flake8 E302 violations 2013-11-02 23:50:48 -05:00
Jason Myers 3f115776e1 PEP8
Signed-off-by: Jason Myers <jason@jasonamyers.com>
2013-11-02 23:50:38 -05:00