Commit Graph

3425 Commits

Author SHA1 Message Date
Anssi Kääriäinen 01b9c3d519 Fixed #16715 -- Fixed join promotion logic for nested nullable FKs
The joins for nested nullable foreign keys were often created as INNER
when they should have been OUTER joins. The reason was that only the
first join in the chain was promoted correctly. There were also issues
with select_related etc.

The basic structure for this problem was:
  A -[nullable]-> B -[nonnull]-> C

And the basic problem was that the A->B join was correctly LOUTER,
the B->C join not.

The major change taken in this patch is that now if we promote a join
A->B, we will automatically promote joins B->X for all X in the query.
Also, we now make sure there aren't ever join chains like:
   a LOUTER b INNER c
If the a -> b needs to be LOUTER, then the INNER at the end of the
chain will cancel the LOUTER join and we have a broken query.

Sebastian reported this problem and did also major portions of the
patch.
2012-08-25 14:14:45 +03:00
Claude Paroz f5ea730dac Fixed #18843 -- Replaced more special chars in column names (inspectdb)
Thanks airstrike for the report.
2012-08-23 22:59:45 +02:00
Claude Paroz 395c6083af Fixed #12460 -- Improved inspectdb handling of special field names
Thanks mihail lukin for the report and elijahr and kgibula for their
work on the patch.
2012-08-23 21:46:57 +02:00
Alexey Boriskin 10d32072af Fixed #18798 -- Renamed conflicting test methods in i18n tests 2012-08-23 11:27:56 +02:00
Claude Paroz 44c09de555 Fixed #18678 -- HttpResponse init arguments allowed for subclasses
Thanks hp1337@gmail.com for the report.
2012-08-23 10:59:22 +02:00
Claude Paroz 7cfe8e8fce Fixed #11340 -- Prevented HttpResponseNotModified to have content/content-type
The HTTP 1.1 spec tells that the 304 response MUST NOT contain a
message body.
Thanks aparajita for the report.
2012-08-22 20:55:24 +02:00
Simon Meers dfe63a52ef Revert "Fixed #18063 -- Avoid unicode in Model.__repr__ in python 2"
This reverts commit 3fce0d2a91.
2012-08-22 11:48:47 +10:00
Claude Paroz 4353a6163c Fixed #18196 -- Improved loaddata error messages. 2012-08-21 21:52:25 +02:00
Anssi Kääriäinen a193372753 Fixed #17886 -- Fixed join promotion in ORed nullable queries
The ORM generated a query with INNER JOIN instead of LEFT OUTER JOIN
in a somewhat complicated case. The main issue was that there was a
chain of nullable FK -> non-nullble FK, and the join promotion logic
didn't see the need to promote the non-nullable FK even if the
previous nullable FK was already promoted to LOUTER JOIN. This resulted
in a query like a LOUTER b INNER c, which incorrectly prunes results.
2012-08-21 21:23:57 +03:00
Aymeric Augustin e89bc39935 Reverted type check added in 62954ba04c.
Refs #17040.
2012-08-21 09:00:55 +02:00
Aymeric Augustin 62954ba04c [py3] Fixed #17040 -- ported django.utils.crypto.constant_time_compare.
This is a private API; adding a type check is acceptable.
2012-08-20 22:50:49 +02:00
Simon Meers 3fce0d2a91 Fixed #18063 -- Avoid unicode in Model.__repr__ in python 2
Thanks guettli and mrmachine.
2012-08-20 16:47:30 +10:00
Aymeric Augustin 9729f77326 Reordered import statements for clarity. 2012-08-19 21:50:07 +02:00
Aymeric Augustin 2f59e94a41 Fixed #18728 -- Made colon optional in tzinfo
Made two-digit hours and minutes mandatory in tzinfo (the code used
to crash if a one-digit representation was provided).

Added standalone tests for django.utils.dateparse.
2012-08-19 21:47:41 +02:00
Aymeric Augustin 536b030363 [py3] Supported integers in HttpResponse
Fixed #18764.
2012-08-19 16:38:21 +02:00
Karen Tracey e945842042 Merge pull request #291 from uruz/ticket18793
Fixed #18793: Removed duplicate test_head_no_get in generic_views.base

Thanks uruz.
2012-08-18 17:12:54 -07:00
Alexey Boriskin f29032eac6 Fixed #18793: Duplicate test test_head_no_get in generic_views.base 2012-08-19 01:04:08 +04:00
Andrew Godwin 5b09fc8ad2 Merge pull request #288 from mjtamlyn/date-list-period
Fixed #3542 -- Add support for changing granularity on ArchiveView.
2012-08-18 09:10:52 -07:00
Marc Tamlyn 8d5c11caad Fixed #3542 -- Add support for changing granularity on ArchiveView.
Resolving the concept from a very old ticket in a more class-based-view
manner.
2012-08-18 17:03:57 +01:00
Aymeric Augustin afc1bd7ab8 [py3] Made 212b9826bd Python 3-friendly 2012-08-18 17:51:16 +02:00
Marc Tamlyn f04bb6d798 Fixed #17228 -- params context variable is inconsistent
Remove the params variable from the context and just put the variables
in directly.

This had not been committed previously as the original pattern was used
in the functional generic views and we wanted consistency between them,
but django.views.generic.simple.direct_to_template is now gone so we can
do it 'right'.
2012-08-18 15:07:21 +01:00
Marc Tamlyn 212b9826bd Fixed #14516 -- Extract methods from removetags and slugify template filters
Patch by @jphalip updated to apply, documentation and release notes
added.

I've documented strip_tags as well as remove_tags as the difference
between the two wouldn't be immediately obvious.
2012-08-18 15:07:21 +01:00
Marc Tamlyn 58683e9c82 Fixed #16744 -- Class based view should have the view object in the context
Updated the most recent patch from @claudep to apply again and updated
the documentation location.
2012-08-18 15:07:21 +01:00
Aymeric Augustin 547b181046 [py3] Ported django.utils.safestring.
Backwards compatibility aliases were created under Python 2.
2012-08-18 16:04:06 +02:00
Marc Tamlyn bfa9fc69bf Fixed #18779 -- URLValidator can't validate url with ipv6.
Validation is reasonably 'soft', as for the ipv4. False positives don't
matter too much here.
2012-08-18 12:08:44 +01:00
Aymeric Augustin 85e7a5e140 [py3] Stopped attempting to translate bytes.
That goes actively against the goal of cleaning string handling.
2012-08-18 11:36:09 +02:00
Aymeric Augustin c03cf0b096 Cleaned up a test slightly.
We should catch all exceptions in the thread to ensure it doesn't die
with an unhandled exception. The type of the exception is already
checked further in the test.
2012-08-18 11:02:28 +02:00
Aymeric Augustin 6cb76cb140 [py3] Fixed templates tests. 2012-08-18 10:18:24 +02:00
Aymeric Augustin ad11dbf670 [py3] Fixed __unicode__ methods missed in d4a0b278
due to non-standard syntax (a stray comma). Thanks dmishe for the report.
2012-08-17 14:11:23 +02:00
Alex Gaynor 37a894b48c [py3k] Fixed pagination_regress tests. 2012-08-16 10:54:45 -04:00
Aymeric Augustin fcc8de0598 [py3] Ported django.core.servers. 2012-08-16 13:01:16 +02:00
Aymeric Augustin 8c356acf2e [py3] Fixed test_utils tests of doctests. 2012-08-16 10:26:18 +02:00
Aymeric Augustin e98cb05edf [py3] Fixed the str tests.
These tests don't look very meaningful. They were ported from
doctests...
2012-08-16 09:44:42 +02:00
Alex Gaynor befa1dd7a5 Fixed the generic_inline_admin tests for python3. 2012-08-15 23:12:08 -04:00
Alex Gaynor 0c257f5a23 Fixed the admin_changelist tests for python3. 2012-08-15 23:09:01 -04:00
Claude Paroz 24de85c419 [py3] Fixed more encoding issues in cache tests 2012-08-15 22:48:09 +02:00
Claude Paroz 37e05357cd Used settings config for memcached tests.
By using settings config, we take advantage of custom settings like
KEY_PREFIX which allows for example to run tests in parallel.
2012-08-15 22:48:09 +02:00
Aymeric Augustin f7c2e82d76 [py3] Fixed middleware tests.
Removed several inappropriate .encode('utf-8') calls in the process.
2012-08-15 22:42:18 +02:00
Claude Paroz 60f5e10230 [py3] Fixed dispatch tests 2012-08-15 18:19:21 +02:00
Claude Paroz 27192564c3 Run memcache tests if any cache is configured 2012-08-15 18:07:03 +02:00
Claude Paroz a9facb455f [py3] Fix some more encoding issues in tests 2012-08-15 17:41:38 +02:00
Claude Paroz 607665a396 [py3] Fixed bad unicode test 2012-08-15 16:40:12 +02:00
Florian Apolloner 0ab570217a [py3] Fixed paginator tests. 2012-08-15 14:58:43 +02:00
Florian Apolloner c1584890b1 [py3] Properly encode hashlib.md5 and zip.compress args in the tests. 2012-08-15 14:29:40 +02:00
Anssi Kääriäinen 5d01f3caea [py3] Removed map() calls used for side-effects only 2012-08-15 13:23:41 +03:00
Alex Gaynor 814fde32d9 Made the validation tests python3 friendly. 2012-08-15 03:02:32 -07:00
Alex Gaynor ea1e8b38b3 Ensured that the archive module consistantly explicitly closed all files. 2012-08-15 02:53:40 -07:00
Alex Gaynor ca6015ca71 Close files in the module_loading tests always. 2012-08-15 02:47:02 -07:00
Alex Gaynor fc99f127d8 Explicitly close a file during the email tests. 2012-08-15 02:16:28 -07:00
Alex Gaynor dfbcbf2124 Always close files in the file_storage tests. 2012-08-15 02:05:03 -07:00