Commit Graph

13539 Commits

Author SHA1 Message Date
Anssi Kääriäinen 4007c8f6eb Fixed a regression in distinct_on
Caused by regression fix for #19500.
2012-12-20 22:50:06 +02:00
Anssi Kääriäinen d407164c04 Fixed #18854 -- Join promotion in disjunction cases
The added promotion logic is based on promoting any joins used in only
some of the childs of an OR clause unless the join existed before the
OR clause addition.
2012-12-20 21:45:15 +02:00
Anssi Kääriäinen 3dcd435a0e Fixed #19500 -- Solved a regression in join reuse
The ORM didn't reuse joins for direct foreign key traversals when using
chained filters. For example:
    qs.filter(fk__somefield=1).filter(fk__somefield=2))
produced two joins.

As a bonus, reverse onetoone filters can now reuse joins correctly

The regression was caused by the join() method refactor in commit
68847135bc

Thanks for Simon Charette for spotting some issues with the first draft
of the patch.
2012-12-20 21:27:00 +02:00
Russell Keith-Magee c04c03daa3 Fixed #19401 -- Ensure that swappable model references are case insensitive.
This is necessary because get_model() checks are case insensitive, and if the swapable check isn't, the
swappable logic gets tied up in knots with models that are partially swapped out.

Thanks to chris@cogdon.org for the report and extensive analysis, and Preston for his work on the draft patch.
2012-12-20 16:10:19 +08:00
Patryk Zawadzki 3989ce52ef Fixed #18172 -- Made models with __iter__ usable in ModelMultipleChoiceField
Thanks to Patryk Zawadzki for the patch.
2012-12-19 22:51:12 +02:00
Ramiro Morales abd0f304b1 Added PASSWORD_HASHERS to settings reference document. 2012-12-19 15:07:52 -03:00
Tim Graham 6534a95ac3 Fixed #19470 - Clarified widthratio example.
Thanks orblivion for the suggestion.
2012-12-18 08:20:01 -05:00
Tim Graham 31f49f1396 Fixed #19442 - Clarified that raw SQL must be committed.
Thanks startup.canada for the suggestion.
2012-12-18 08:10:12 -05:00
Tim Graham 7df03268a4 Fixed #17312 - Warned about database side effects in tests.
Thanks jcspray for the suggestion.
2012-12-18 08:03:47 -05:00
Claude Paroz ddb454b2b0 Merge pull request #587 from pyriku/19430-license-setup-py
Fixed #19430 -- Added 'license' value to setup.py
2012-12-18 02:46:53 -08:00
Claude Paroz 55972ee5c7 Fixed #19441 -- Created PostgreSQL varchar index when unique=True
Thanks Dylan Verheul for the report and Anssi Kääriäinen for the
review.
2012-12-18 09:56:30 +01:00
Anssi Kääriäinen c64b57d166 Replaced '__' with LOOKUP_SEP in sql/query.py
Thanks to Simon Charette for report.
2012-12-17 21:15:01 +02:00
Aymeric Augustin bbabfdccce Fixed #19485 -- Python 3 compatibility for c2a6b2a4.
Refs #9589.
2012-12-17 09:46:26 +01:00
Anssi Kääriäinen 85712a5355 Made sure connections are actually closed in backends tests 2012-12-16 23:26:16 +02:00
Anssi Kääriäinen 12a96bfa26 Fixed #19197 -- fixed convert_values() for nullable numeric fields
Cleaned up the implementation of base convert_values() a little, and
made sure it accepts None as a value for numeric fields.

There are no tests attached. The reason is that not all of the
convert_values() accept None as a value for numeric fields (for example
sqlite3.convert_values()).

The reason the base convert_values() needs to accept None is that this
situation might arise in custom compilers for 3rd party backends. It
is easy to keep the convert_values() working, so lets do that.
2012-12-16 23:26:16 +02:00
Tim Graham 72a6ac568d Fixed #19279 - Clarified order of database setup and Django install.
Thanks colinnkeenan for the suggestion.
2012-12-16 15:42:01 -05:00
Claude Paroz ed711c4bd5 Fixed #19483 -- Improved import error message in contrib.comments
Thanks Valentin Lorentz for the report and the suggested fix.
2012-12-16 21:12:45 +01:00
Aymeric Augustin dbdd253860 Replaced the test case hierarchy schema with a vector version.
The OmniGraffle source file is included for future use.
2012-12-16 21:07:12 +01:00
Anssi Kääriäinen 704ee33f50 Fixed #16679 -- Use caching to speed up signal sending 2012-12-16 21:46:02 +02:00
Tim Graham 507c081484 Fixed #18718 - Documented django.utils.encoding.filepath_to_uri 2012-12-16 14:39:37 -05:00
Aymeric Augustin bf14aed3cc Added PDF version of SVG file for latexpdf builds.
Thanks Tim Graham for reporting this issue and testing the fix.
2012-12-16 19:42:53 +01:00
Anssi Kääriäinen 69597e5bcc Fixed #10790 -- Refactored sql.Query.setup_joins()
This is a rather large refactoring. The "lookup traversal" code was
splitted out from the setup_joins. There is now names_to_path() method
which does the lookup traveling, the actual work of setup_joins() is
calling names_to_path() and then adding the joins found into the query.

As a side effect it was possible to remove the "process_extra"
functionality used by genric relations. This never worked for left
joins. Now the extra restriction is appended directly to the join
condition instead of the where clause.

To generate the extra condition we need to have the join field
available in the compiler. This has the side-effect that we need more
ugly code in Query.__getstate__ and __setstate__ as Field objects
aren't pickleable.

The join trimming code got a big change - now we trim all direct joins
and never trim reverse joins. This also fixes the problem in #10790
which was join trimming in null filter cases.
2012-12-16 17:23:26 +02:00
Anssi Kääriäinen f811649710 Fixed #18816 -- Removed "trim" argument from add_filter()
The trim argument was used by split_exclude() only to trim the last
join from the given lookup. It is cleaner to just trim the last part
from the lookup in split_exclude() directly so that there is no need
to burden add_filter() with the logic needed for only split_exclude().
2012-12-16 16:56:28 +02:00
Anssi Kääriäinen d7b49f5b0d Fixed #19469 -- Removed opts.get_ordered_objects() and related code
The code was dead-code since 2006.
2012-12-16 16:22:09 +02:00
Russell Keith-Magee 9facca28b6 Corrected tests depending on the error message on the AuthenticationForm.
Refs #19368, and the fix introduced in 27f8129d64.
2012-12-16 07:18:45 +08:00
Russell Keith-Magee 27f8129d64 Fixed #19368 -- Ensured that login error messages adapt to changes in the User model.
Thanks to un33k for the report.
2012-12-15 22:44:47 +08:00
Russell Keith-Magee 47e1df896b Fixed #19412 -- Added PermissionsMixin to the auth.User heirarchy.
This makes it easier to make a ModelBackend-compliant (with regards to
permissions) User model.

Thanks to cdestigter for the report about the relationship between
ModelBackend and permissions, and to the many users on django-dev that
contributed to the discussion about mixins.
2012-12-15 22:44:47 +08:00
Russell Keith-Magee bd414aed01 Fixed #19472 -- Documented the testing requirements and tools for custom User models.
Thanks to gcc for the report.
2012-12-15 22:44:47 +08:00
Russell Keith-Magee 1b646e656e Fixed #19384 -- Documented the behavior of custom managers on abstract models.
This documents the behavior introduced by cc337a74, which is BACKWARDS
INCOMPATIBLE for any attempt to invoke a method on a manager using the
abstract class as the calling class (e.g., AbstractBase.objects.do_something())

Thanks to mhsparks for the report.
2012-12-15 22:44:46 +08:00
Tim Graham 1e5b0fc4d0 Fixed #19344 - Documented how to run django-admin in a virtualenv on Windows.
Thanks Hourann Bosci for the patch.
2012-12-15 09:25:54 -05:00
Tim Graham b594e4923c Fixed #19342 - Added new tutorials to the 1.5 release notes 2012-12-15 08:29:46 -05:00
Ramiro Morales 730c0d2e72 Fixed a couple of docstring typos. 2012-12-15 10:22:22 -03:00
Ramiro Morales c2a6b2a43f Fixed #9589 -- Made development web server more robust in the presence of a wider variety of code errors.
Thanks goes to contributor with Trac user 'berto' for the patch.
2012-12-15 10:17:25 -03:00
Tim Graham b052e6cc95 Fixed #9962 - Added a testing tutorial.
Thank-you Daniele Procida for the first draft
and shaibi, Aymeric, and others for the reviews.
2012-12-15 08:09:40 -05:00
Tim Graham 3984ccbcec Merge pull request #585 from blongden/clarify_php_refs
Removed poor PHP references
2012-12-14 16:33:16 -08:00
Pablo Recio 50fd96497b Added 'license' value to the setup.py fixes #19430 2012-12-14 20:22:58 +00:00
Aymeric Augustin a001f3c31e Fixed #2304 -- Documented TRANSACTIONS_MANAGED. 2012-12-14 21:15:48 +01:00
Ben Longden 55a2d5b577 Removes PHP references 2012-12-13 13:20:47 +00:00
Anssi Kääriäinen 7eba5fbc02 Fixed a couple of stale tests caused by patch for #19462
Commit was 088d3bc2f8
2012-12-13 15:02:08 +02:00
Anssi Kääriäinen 088d3bc2f8 Fixed #19462 -- Made assertQuerysetEqual detect undefined ordering
If there are more than one values to compare against and the qs isn't
ordered then assertQuerysetEqual will raise a ValueError.
2012-12-13 13:33:11 +02:00
Claude Paroz 6ed6a18a03 Fixed #19432 -- Provided better error message for get_object_or_404
Thanks Kit Sunde for the report and Brian Holdefehr for the initial
patch.
2012-12-12 22:05:00 +01:00
Tim Graham 6cad5f212a Fixed #19461 - Linked to psycopg in topics/install.txt
Thanks Chris Jerdonek for the suggestion.
2012-12-11 18:43:37 -05:00
Tim Graham 0eed8ece32 Fixed #19377 - Emphasized database host link in tutorial 2012-12-11 16:34:17 -05:00
Florian Apolloner 7e97f4f510 Fixed an order dependant test failure. 2012-12-11 16:25:47 +01:00
Florian Apolloner 1eb0da1c5b Fixed a test failure in the comment tests. 2012-12-10 23:34:51 +01:00
Florian Apolloner 27560924ec Fixed a security issue in get_host.
Full disclosure and new release forthcoming.
2012-12-10 22:11:40 +01:00
Florian Apolloner a2f2a39956 Fixed #18856 -- Ensured that redirects can't be poisoned by malicious users. 2012-12-10 22:11:39 +01:00
Claude Paroz 0cdfa76e68 Amended an SQL test fixture to not include an id value
Some backends might need special handling for auto-increment values.
This was introduced in 5fa5621f57. Thanks Michael Manfre for spotting
the issue.
2012-12-10 17:49:04 +01:00
Aymeric Augustin be9f2919e0 Edited the middleware doc for completeness, clarity, and consistency. 2012-12-09 22:30:01 +01:00
Aymeric Augustin ae8e97384b Fixed #12502 -- Improved middleware diagram. 2012-12-09 21:13:26 +01:00