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
Andrew Godwin
d3d1e59921
Add a SQlite backend. One test passes!
2012-08-18 14:16:52 +01:00
Andrew Godwin
0b01395108
Test that unique constraints get ported with column rename
2012-08-18 14:00:42 +01:00
Andrew Godwin
f7955c703d
All tests passing on MySQL
2012-08-18 13:48:54 +01:00
Andrew Godwin
cab044c66c
First stab at MySQL support
2012-08-18 12:29:31 +01: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
Claude Paroz
e0d67f3440
[py3] Fixed test_client_regress tests
2012-08-15 10:58:26 +02:00
Alex Gaynor
cca01c96d1
Converted the modeladmin tests to run on python 2 and 3.
2012-08-15 01:46:31 -07:00
Alex Gaynor
54afdbf378
Fixed usage of several deprecated aliases in unittest.
2012-08-15 01:38:04 -07:00
Alex Gaynor
2048bbee8c
Explicitly close files in the staticfiles tests.
2012-08-15 01:25:01 -07:00
Alex Gaynor
c7734491f8
Use a name that exists in both python2 and 3,
2012-08-15 01:13:09 -07:00
Aymeric Augustin
e0ec7507ac
[py3] Fixed jsi18n test.
...
Also refactored said test to avoid leaking state (ie. active
translation) when an error occurs.
2012-08-15 09:45:28 +02:00
Aymeric Augustin
478a69314e
[py3] Fixed uses of __metaclass__ in tests.
2012-08-15 00:31:29 +02:00
Chris Lawlor
450c0df653
[py3] Fixed modeltests.model_forms tests.
2012-08-14 23:46:23 +02:00
Claude Paroz
928baee747
[py3] Fixed conditional_processing tests
2012-08-14 23:35:12 +02:00
Claude Paroz
0120985095
[py3] Fixed file_uploads tests
2012-08-14 23:35:12 +02:00
Florian Apolloner
367bfaa522
Don't swallow AttributeError in core.urlresolvers.get_callable.
2012-08-14 21:23:25 +02:00
Claude Paroz
f2fe7a3e36
[py3] Fixed serializers tests
2012-08-14 19:54:53 +02:00
Claude Paroz
7d48e077b5
[py3] Fixed staticfiles tests
2012-08-14 17:24:31 +02:00
Claude Paroz
c2d59e5564
[py3] Fixed admin_views tests
...
Also changed several occurrences of 'request' to 'response'.
2012-08-14 14:45:28 +02:00
Aymeric Augustin
d6b8b125fb
[py3] Fixed admin_custom_urls tests.
2012-08-14 14:38:23 +02:00
Anssi Kääriäinen
5b27e6f64b
[py3] Fixed comparison of list and range()
...
A test compared list directly against a range(). This is py3
incompatible. Fixed by using list(range()).
2012-08-14 15:28:55 +03:00
Anssi Kääriäinen
8fe03865f7
[py3] Fixed invalid use of dict.items()
...
An ordering test had two problems related to dict.items() usage:
- It assumed the order of the dict was non-randomized
- It indexed to the dict.items() which is py3 incompatible.
I fixed the test by using dict['rank'] directly, where rank is the
column tested on the values queryset.
2012-08-14 15:24:43 +03:00
Aymeric Augustin
dcf72835e3
[py3] Ensured the template tests run.
2012-08-14 12:29:53 +02:00
Aymeric Augustin
faf570df18
[py3] Compared response.content with bytes.
2012-08-14 12:29:53 +02:00
Aymeric Augustin
e04230e2e4
[py3] Ported django.http according to PEP 3333.
...
Perfomed some style cleanup while I was in the area.
2012-08-14 10:32:16 +02:00
Claude Paroz
45baaabafb
[py3] Fixed encoding issues in cache key generation
2012-08-13 12:56:59 +02:00
Claude Paroz
d774ad752d
[py3] Made csrf context processor return Unicode
2012-08-13 11:54:21 +02:00
Claude Paroz
73f0f18c8f
[py3] Fixed admin_scripts tests
2012-08-13 10:58:21 +02:00
Claude Paroz
6d68022a27
[py3] Removed filename encoding in file_uploads test
2012-08-13 09:56:14 +02:00
Andrei Antoukh
99321e30ce
Fixed #18306 -- Made deferred models issue update_fields on save
...
Deferred models now automatically update only the fields which are
loaded from the db (with .only() or .defer()). In addition, any field
set manually after the load is updated on save.
2012-08-12 22:39:27 +03:00
Anssi Kääriäinen
59a655988e
Fixed #13844 -- Avoid converting unknown db values to float
...
This patch removes an unconditional float(value) conversion from db
backend default convert_values() method. This can cause problems when
aggregating over character fields for example. In addition, Oracle
and SQLite already return the bare value from their convert_values().
In the long term the converting should be done by fields, and the
fields should then call database backend specific converters when
needed. The current setup is inflexible for 3rd party fields.
Thanks to Merlijn van Deen for the original patch.
2012-08-12 21:52:52 +03:00
Karen Tracey
49bb72c403
[py3] Made exception examination py3-compatible.
2012-08-12 12:08:58 -04:00
Aymeric Augustin
d4a0b27838
[py3] Refactored __unicode__ to __str__.
...
* Renamed the __unicode__ methods
* Applied the python_2_unicode_compatible decorator
* Removed the StrAndUnicode mix-in that is superseded by
python_2_unicode_compatible
* Kept the __unicode__ methods in classes that specifically
test it under Python 2
2012-08-12 14:44:40 +02:00
Aymeric Augustin
e7e08fd48b
[py3] Replaced some __str__ methods by __unicode__
...
These methods actually return unicode.
2012-08-12 14:44:40 +02:00
Aymeric Augustin
2bb2eecb63
[py3] Removed redundant __str__ methods.
...
These classes already have an identical __unicode__ method, which
will be used after an upcoming refactoring.
2012-08-12 14:44:40 +02:00
Karen Tracey
759ae3c2da
Fixed #18739 -- witdthratio behavior on None args
...
Made behavior given None consistent with how non-numerics were handled.
Thanks to ja.geb@me.com for the report.
2012-08-11 19:24:18 -04:00
Karen Tracey
be7f1099c6
Decorated some tests that require tz support.
...
This allows the test suite to run without errors on Windows.
2012-08-11 17:32:24 -04:00
Claude Paroz
6602103338
[py3] Various minor syntax fixes in the test suite
2012-08-11 23:23:31 +02:00
Claude Paroz
3eb28d0119
[py3] Used six.StringIO to simulate stdout buffer in tests
2012-08-11 18:56:14 +02:00
Claude Paroz
97fe70d30b
[py3] Used BytesIO to test request streams
2012-08-11 11:11:20 +02:00
Claude Paroz
92b2dec918
[py3] Made signing infrastructure pass tests with Python 3
2012-08-10 18:07:46 +02:00
Andrew Godwin
60873ea2ad
Add db_table and db_tablespace handling
2012-08-10 15:03:18 +01:00
Andrew Godwin
184cf9ab79
Merge branch 'master' into schema-alteration
2012-08-10 12:40:37 +01:00
Andrew Godwin
c4b2a3262c
Add support for unique_together
2012-08-10 12:38:18 +01:00
Claude Paroz
751774c29f
[py3] Fixed mail tests with Python 3
2012-08-09 20:13:29 +02:00
Claude Paroz
96a6912ec5
[py3] Fixed compilemessages tests
2012-08-08 23:40:20 +02:00
Alex Gaynor
0955d16a16
Switched to using the standard method for comparing querysets in teh templates.
2012-08-08 07:50:59 -07:00
Aymeric Augustin
396357741b
[py3] Used compatible imports of StringIO.
2012-08-08 14:50:01 +02:00
Alex Gaynor
46cc530fad
Fix a test that relied on an exception outliving the `except` block, which doesn't happen on py3k.
2012-08-07 07:22:25 -07:00
Aymeric Augustin
fe8484efda
[py3] Ported django.utils.functional.
2012-08-07 12:00:23 +02:00
Aymeric Augustin
02e6b6409b
[py3] Ported django.utils.decorators.
2012-08-07 12:00:23 +02:00