Andrew Godwin
5569b0b92f
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/backends/oracle/base.py
django/db/backends/postgresql_psycopg2/base.py
django/db/models/signals.py
tests/queries/tests.py
2013-08-23 12:36:53 +01:00
Andrew Godwin
ac45f9c9c5
Fix some small errors in the tests
2013-08-23 12:07:43 +01:00
Tim Graham
b0ce6fe656
Fixed #20922 -- Allowed customizing the serializer used by contrib.sessions
...
Added settings.SESSION_SERIALIZER which is the import path of a serializer
to use for sessions.
Thanks apollo13, carljm, shaib, akaariai, charettes, and dstufft for reviews.
2013-08-22 13:58:26 -04:00
Lukasz Balcerzak
9d1987d767
Fixed #19303 -- Fixed ModelAdmin.formfield_overrides on fields with choices
2013-08-22 11:50:52 -04:00
Rainer Koirikivi
65cf82bd08
Fixed #20934 -- Avoided NoReverseMatch in ModelAdmin.changelist_view
...
The view tried to display links to a ModelAdmin's change_view, which
resulted in NoReverseMatches if get_urls was overridden to remove the
corresponding url.
2013-08-22 10:08:54 -04:00
Anssi Kääriäinen
6af05e7a0f
Fixed model.__eq__ and __hash__ for no pk value cases
...
The __eq__ method now considers two instances without primary key value
equal only when they have same id(). The __hash__ method raises
TypeError for no primary key case.
Fixed #18864 , fixed #18250
Thanks to Tim Graham for docs review.
2013-08-22 17:24:07 +03:00
Anssi Kääriäinen
8d65b6082c
Fixed #20955 -- select_related regression
...
In cases where the same connection (from model A to model B along the
same field) was needed multiple times in a select_related query, the
join setup code mistakenly reused an existing join.
2013-08-22 10:51:07 +03:00
Tim Graham
3f416f6379
Fixed a regression with get_or_create and virtual fields.
...
refs #20429
Thanks Simon Charette for the report and review.
2013-08-21 22:32:04 +01:00
Ramiro Morales
c7364a11f6
Switched mail tests to SimpleTestCase.
2013-08-21 22:32:04 +01:00
Ramiro Morales
8e571e5f8f
Fixed #12422 -- Don't override global email charset behavior for utf-8.
...
Thanks simonb for the report, Claude Paroz and Susan Tan for their work
on a fix.
2013-08-21 22:32:04 +01:00
Anssi Kääriäinen
244e2b71f5
Fixed #20946 -- model inheritance + m2m failure
...
Cleaned up the internal implementation of m2m fields by removing
related.py _get_fk_val(). The _get_fk_val() was doing the wrong thing
if asked for the foreign key value on foreign key to parent model's
primary key when child model had different primary key field.
2013-08-21 22:32:04 +01:00
Ramiro Morales
c5fbd16362
Import test case classes from their public API module.
2013-08-21 22:32:04 +01:00
Ramiro Morales
01223840f3
Fixed #18967 -- Don't base64-encode message/rfc822 attachments.
...
Thanks Michael Farrell for the report and his work on the fix.
2013-08-21 22:32:04 +01:00
Florian Apolloner
839940f27f
Fixed #20933 -- Allowed loaddata to load fixtures from relative paths.
2013-08-21 22:32:04 +01:00
Anssi Kääriäinen
3a8ae71ab5
Fixed invalid testing fixture
2013-08-21 22:31:50 +01:00
Anssi Kääriäinen
f5552571dc
Fixed #20820 -- Model inheritance + m2m fixture loading regression
...
Tests by Tim Graham, report from jeroen.pulles@redslider.net .
2013-08-21 22:31:50 +01:00
Anssi Kääriäinen
ced3e6b17d
Fixed test failure caused by different NULL ordering between backends
2013-08-21 22:31:50 +01:00
Anssi Kääriäinen
cea7204504
Fixed #14056 -- Made sure LEFT JOIN aren't trimmed in ORDER BY
...
If LEFT JOINs are required for correct results, then trimming the join
can lead to incorrect results. Consider case:
TBL A: ID | TBL B: ID A_ID
1 1 1
2
Now A.order_by('b__a') did use a join to B, and B's a_id column. This
was seen to contain the same value as A's id, and so the join was
trimmed. But this wasn't correct as the join is LEFT JOIN, and for row
A.id = 2 the B.a_id column is NULL.
2013-08-21 22:30:46 +01:00
Anssi Kääriäinen
b773ef8fa0
Fixed #14043 -- Made sure nullable o2o delete works as expected
...
There was an old complaint about nullable one-to-one field cascading
even when the o2o field was saved to None value before the deletion.
Added an test to verify this doesn't happen.
Also some PEP 8 cleanup.
2013-08-21 22:30:45 +01:00
Simon Charette
63378163f9
Fixed #20943 -- Weakly reference senders when caching their associated receivers
2013-08-21 22:30:45 +01:00
Simon Charette
77478d84ad
Fixed an aggregation test failure on MySQL.
2013-08-21 22:30:02 +01:00
Andrew Godwin
2e7f45a372
Change autodetector changes API to be just one method
2013-08-21 22:25:15 +01:00
Tim Graham
f7290581fe
Fixed a regression with get_or_create and virtual fields.
...
refs #20429
Thanks Simon Charette for the report and review.
2013-08-21 08:30:21 -04:00
Ramiro Morales
a5cf5da50d
Switched mail tests to SimpleTestCase.
2013-08-21 07:48:16 -03:00
Ramiro Morales
ececbe77ff
Fixed #12422 -- Don't override global email charset behavior for utf-8.
...
Thanks simonb for the report, Claude Paroz and Susan Tan for their work
on a fix.
2013-08-21 07:44:20 -03:00
Anssi Kääriäinen
b065aeb17f
Fixed #20946 -- model inheritance + m2m failure
...
Cleaned up the internal implementation of m2m fields by removing
related.py _get_fk_val(). The _get_fk_val() was doing the wrong thing
if asked for the foreign key value on foreign key to parent model's
primary key when child model had different primary key field.
2013-08-21 08:32:19 +03:00
Ramiro Morales
deebb1a977
Import test case classes from their public API module.
2013-08-20 22:23:41 -03:00
Ramiro Morales
f9d1d5dc13
Fixed #18967 -- Don't base64-encode message/rfc822 attachments.
...
Thanks Michael Farrell for the report and his work on the fix.
2013-08-20 22:17:26 -03:00
Florian Apolloner
96346ed5ad
Fixed #20933 -- Allowed loaddata to load fixtures from relative paths.
2013-08-20 21:25:57 +02:00
Anssi Kääriäinen
86f4459f9e
Fixed invalid testing fixture
2013-08-20 17:48:02 +03:00
Anssi Kääriäinen
1ed77e7782
Fixed #20820 -- Model inheritance + m2m fixture loading regression
...
Tests by Tim Graham, report from jeroen.pulles@redslider.net .
2013-08-20 16:54:05 +03:00
Anssi Kääriäinen
8dc76c4b91
Fixed test failure caused by different NULL ordering between backends
2013-08-20 11:33:44 +03:00
Anssi Kääriäinen
905409855c
Fixed #14056 -- Made sure LEFT JOIN aren't trimmed in ORDER BY
...
If LEFT JOINs are required for correct results, then trimming the join
can lead to incorrect results. Consider case:
TBL A: ID | TBL B: ID A_ID
1 1 1
2
Now A.order_by('b__a') did use a join to B, and B's a_id column. This
was seen to contain the same value as A's id, and so the join was
trimmed. But this wasn't correct as the join is LEFT JOIN, and for row
A.id = 2 the B.a_id column is NULL.
2013-08-20 10:55:00 +03:00
Anssi Kääriäinen
b53ed351b3
Fixed #14043 -- Made sure nullable o2o delete works as expected
...
There was an old complaint about nullable one-to-one field cascading
even when the o2o field was saved to None value before the deletion.
Added an test to verify this doesn't happen.
Also some PEP 8 cleanup.
2013-08-20 09:50:37 +03:00
Simon Charette
e55ca60903
Fixed #20943 -- Weakly reference senders when caching their associated receivers
2013-08-20 01:53:58 -04:00
Simon Charette
fdbf492946
Fixed an aggregation test failure on MySQL.
2013-08-19 20:39:30 -04:00
Andrew Godwin
b6a957f0ba
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
docs/ref/django-admin.txt
2013-08-19 18:30:48 +01:00
Rainer Koirikivi
3c03004050
Fixed #20640 -- Avoided NoReverseMatch in get_deleted_objects
...
The default delete action resulted in a NoReverseMatch if it were to
list any Model with a ModelAdmin with `get_urls` overridden to remove
the change url. Catching the error and not displaying the link in that
case, as was already done for models with no registered admins.
Thanks Keryn Knight for the report.
2013-08-19 12:01:33 -04:00
Anssi Kääriäinen
58c6d0209d
Fixed #12807 -- EmptyResultSet ORed condition
...
The EmptyResultSet wasn't treated correctly so the end results was
incorrect, too. The bug had been already fixed in master so only tests
added.
2013-08-19 16:24:45 +03:00
Anssi Kääriäinen
7bc57a6d71
Fixed #11881 -- removed junk from aggregation subqueries
...
There were clauses that weren't needed in the subqueries. These were
ORDER BY, SELECT FOR UPDATE and related selections.
2013-08-19 16:15:09 +03:00
Anssi Kääriäinen
7737305a4f
Fixed #12886 -- aggregation over sliced queryset
2013-08-19 16:00:17 +03:00
Andrew Godwin
52edc16086
Add more stringent M2M tests and fix the bug they exposed
2013-08-19 13:50:26 +01:00
Anssi Kääriäinen
7d28bed13b
PEP 8 cleanup
2013-08-19 14:16:10 +03:00
Anssi Kääriäinen
630b9df42f
Fixed #12567 -- Incorrect SQL in model inheritance case
...
An isnull lookup produced incorrect SQL. This was already fixed
earlier, so only tests added.
2013-08-19 14:10:03 +03:00
Anssi Kääriäinen
3844089edc
Fixed #20777 -- Admin proxy model deletion regression
...
Added proxy_models tests by Harm Geerts <github@geertswei.nl>.
2013-08-19 09:51:41 +03:00
Anssi Kääriäinen
4668c142dc
Made Model.__eq__ consider proxy models equivalent
...
Fixed #11892 , fixed #16458 , fixed #14492 .
2013-08-19 09:51:28 +03:00
Alex Gaynor
aa01c99f55
Merge pull request #1479 from nickbruun/ticket_20924
...
Proxy __len__ and __contains__ for LazyObject
2013-08-18 09:41:43 -07:00
Claude Paroz
165f44aaaa
Combine consecutive with statements
...
Python 2.7 allows to combine several 'with' instructions.
2013-08-16 20:12:10 +02:00
Alasdair Nicol
22c6497f99
Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value
...
Thanks to Collin Anderson for the suggestion and Tim Graham for
reviewing the patch.
2013-08-15 19:47:26 -04:00
Nick Bruun
b9ef96e73c
Regression test and patch for ticket #20924 .
2013-08-15 20:59:58 +02:00
Jonathan Slenders
ff410565bf
Fixed #20709 -- Allowed {% widthratio %} to accept an "as" parameter.
...
Thanks clay.evil@ for the suggestion.
2013-08-14 12:40:19 -04:00
Florian Apolloner
4e50e40654
Removed unneeded conditional_escapes from the testsuite.
2013-08-13 22:22:46 +02:00
Andrew Godwin
157604a87f
Oracle schema backend, passes most tests and is pretty complete.
2013-08-13 20:54:57 +01:00
Matt Johnson
907ef9d0d1
Fixed #20555 -- Make subwidget id attribute available
...
In `BoundField.__iter__`, the widget's id attribute is now passed to
each subwidget. A new id_for_label property was added to ChoiceInput.
2013-08-13 13:23:05 -04:00
Jacob Kaplan-Moss
cbe6d5568f
Apply autoescaping to AdminURLFieldWidget.
...
This is a security fix; disclosure to follow shortly.
2013-08-13 11:06:41 -05:00
Anssi Kääriäinen
09a5f5aabe
Fixed test failure on MySQL
...
The fix for #20874 caused a MySQL specific failure.
2013-08-13 15:37:08 +03:00
Loic Bistuer
163a34ce4b
Fixed #20883 -- Made model inheritance find parent links in abstract parents
2013-08-13 15:14:11 +03:00
Anssi Kääriäinen
dcdc579d16
Fixed #20874 -- bump_prefix() in nested subqueries
...
Also made some cleanup to build_filter() code by introducing submethods
solve_lookup_type() and prepare_lookup_value().
2013-08-13 14:11:52 +03:00
Ramiro Morales
6c12cd15e9
Unlocalize line numbers and ids in debug 500 view.
...
While using USE_L10N, line numbers and IDs were printed as comma (or
locale equivalent) separated values.
Thanks Kronuz for the report and intial patch.
Fixes #20861 .
2013-08-12 21:59:27 -03:00
Tim Graham
71b5617c24
Fixed #17778 -- Prevented class attributes on context from resolving as template variables.
...
Thanks KyleMac for the report, regebro for the patch, and Aymeric for the test.
2013-08-12 12:41:39 -04:00
Mel Collins
6bdb3b1135
Fixed #13518 -- Added FILE_UPLOAD_DIRECTORY_PERMISSIONS setting
...
This setting does for new directories what FILE_UPLOAD_PERMISSIONS
does for new files.
Thanks jacob@ for the suggestion.
2013-08-12 07:15:59 -04:00
Andrew Godwin
b61b634628
Fix weird planning issues when already fully migrated.
2013-08-11 15:28:51 +01:00
Andrew Godwin
ae19315b4d
Support index_together during model creation
2013-08-11 14:23:31 +01:00
Ramiro Morales
22af1394c6
Expand testing of Test LiveServerTestCase static files serving.
2013-08-10 16:32:07 -03:00
Ramiro Morales
cb92e3391b
Test that django.views.static.serve() generates 404 status codes.
...
Also, change tests to be based on SimpleTestCase.
2013-08-10 16:00:22 -03:00
Bojan Mihelac
0cac4fbf69
Fixed #18356 -- Gave the test client signals.template_rendered call a unique dispatch_uid
...
This prevents the test client context from being lost when the client
is used in a nested fashion.
2013-08-09 12:22:42 -04:00
Andrew Godwin
588b523233
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/options.py
2013-08-09 14:37:37 +01:00
Andrew Godwin
de64c4d6e9
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/core/management/commands/flush.py
django/core/management/commands/syncdb.py
django/db/models/loading.py
docs/internals/deprecation.txt
docs/ref/django-admin.txt
docs/releases/1.7.txt
2013-08-09 14:17:30 +01:00
Tim Graham
9c711ee3a6
Fixed test failures on Python 3 - refs #12288
2013-08-09 09:12:15 -04:00
Tim Graham
b575d690bb
Fixed test failures introduced by #12288
2013-08-09 08:34:37 -04:00
SusanTan
2ac89012d8
Fixed #12288 -- Added unique validation for INSTALLED_APPS
2013-08-09 08:08:34 -04:00
Marc Tamlyn
1c4a9bd9ad
Revert change to the default Form.clean()
...
This means it doesn't break for people who are doing
`cleaned_data = super(FooForm, self).clean()`.
2013-08-08 14:27:48 +01:00
Marc Tamlyn
fb1dd6b13a
Form.clean() does not need to return cleaned_data.
...
If it does, that will be used as the cleaned_data. The default
implementation has been changed to match this change.
2013-08-08 14:05:55 +01:00
Anssi Kääriäinen
c7739e30b2
Fixed #17424 -- annotate() + exclude() bug
...
The bug was already fixed by 01b9c3d519
,
so only tests added.
At the same time promote_joins()'s uncoditional flag is gone, it isn't
needed for anything any more.
2013-08-07 12:53:33 +03:00
Collin Anderson
d53e574676
Fixed #20865 -- Fixed raw_id_fields to work with callable limit_choices_to.
2013-08-06 13:41:52 -04:00
Alex Cucu
1c64a0f29e
Fixed #19918 -- Modified select_for_update to run on the write database.
2013-08-06 09:50:59 -04:00
Tai Lee
1280675834
Fixed #15511 -- Allow optional fields on ``MultiValueField` subclasses.
...
The `MultiValueField` class gets a new ``require_all_fields`` argument that
defaults to ``True``. If set to ``False``, individual fields can be made
optional, and a new ``incomplete`` validation error will be raised if any
required fields have empty values.
The ``incomplete`` error message can be defined on a `MultiValueField`
subclass or on each individual field. Skip duplicate errors.
2013-08-06 08:50:47 -04:00
Marc Tamlyn
0b771fcf29
Merge pull request #1441 from loic/ticket16986
...
Fixed #16986 -- Model.clean() can report errors on individual fields.
2013-08-06 02:10:45 -07:00
Anssi Kääriäinen
263b873599
Fixed ordering related test failure
...
Also PEP8 + python_2_unicode_compatible cleanup done.
2013-08-06 10:07:52 +03:00
Loic Bistuer
71093d22b6
Fixed #16986 -- Model.clean() can report errors on individual fields.
...
This commit provides the tests for this issue but the actual problem was solved
by the ValidationError refactor in f34cfec
and ee77d4b
.
Refs #20199 .
2013-08-06 02:26:51 +07:00
Tim Graham
04489c7dbf
Fixed #17667 -- Prevented app loading from skipping nonexistent apps after the first try
...
Thanks ea2100@ for the report and akaariai for the patch.
2013-08-05 13:34:35 -04:00
Tim Heap
75c87e2d38
Fixed #20850 -- Added MultiWidget.needs_multipart_form
2013-08-05 10:02:28 -04:00
Julien Phalip
f067887a4f
Fixed some intermittent Selenium test failures.
2013-08-04 22:03:53 -07:00
Julien Phalip
995ffbb2a6
Added some Selenium tests for the admin raw id widget.
2013-08-04 16:08:45 -07:00
Loic Bistuer
ebb3e50243
Introduced ModelAdmin.get_fields() and refactored get_fieldsets() to use it.
...
Refs #18681 .
This also starts the deprecation of ModelAdmin.declared_fieldsets
2013-08-04 09:14:18 -04:00
Curtis Maloney
07876cf02b
Deprecated SortedDict (replaced with collections.OrderedDict)
...
Thanks Loic Bistuer for the review.
2013-08-04 07:09:39 -04:00
Aymeric Augustin
784377544e
Fixed #20822 -- Set content type of default error pages to 'text/html'.
...
Thanks Jimmy Song for the patch.
2013-08-04 11:04:37 +02:00
Loic Bistuer
0bcdcc7eb9
Added ModelAdmin.get_search_fields.
2013-08-03 20:02:43 -04:00
Petr Dlouhý
1b47508ac8
Fixed LogEntry.get_admin_url() for non-existent models.
...
Regression introduced by [369b6fa
]; refs #18169 .
2013-08-02 12:51:10 -04:00
Loic Bistuer
a0ed2f9260
Fixed #18681 -- GenericInlineModelAdmin.get_formset() no longer bypasses get_fieldsets().
...
Refs 23e1b59
which already fixed this issue for ModelAdmin and InlineModelAdmin.
2013-08-02 10:41:29 -04:00
Aleksandra Sendecka
893d8de6f5
Fixed #18777 -- Localized form fields with as_text/as_hidden
...
Thanks croldan for the report.
2013-08-02 08:41:54 -04:00
Tim Graham
aa830009de
Fixed #17519 -- Fixed missing SQL constraints to proxy models.
...
Thanks thibaultj for the report, jenh for the patch,
and charettes for the tests.
2013-08-02 07:41:56 -04:00
Alex Couper
1123f45511
Fixed #20649 -- Allowed blank field display to be defined in the initial list of choices.
2013-07-31 14:12:03 -04:00
Will Hardy
1c3c21b38d
Fixed #19987 -- Disabled host validation when DEBUG=True.
...
The documentation promises that host validation is disabled when
DEBUG=True, that all hostnames are accepted. Domains not compliant with
RFC 1034/1035 were however being validated, this validation has now been
removed when DEBUG=True.
Additionally, when DEBUG=False a more detailed SuspiciousOperation
exception message is provided when host validation fails because the
hostname is not RFC 1034/1035 compliant.
2013-07-31 10:38:59 -04:00
Loic Bistuer
acd1d439fd
Fixed #20826 -- Moved Manager.raw() and Manager._insert() to the QuerySet class.
2013-07-31 09:54:00 -04:00
Florian Hahn
e888a9b30d
Fixed #15624 -- Made sure aggregations are present in SELECT
2013-07-31 16:27:58 +03:00
Anssi Kääriäinen
e01b5a5823
Fixed #11521 -- usage of field.attname in .update()
...
Fixed already by previous patch, only test added.
2013-07-31 16:02:36 +03:00
Anssi Kääriäinen
c21e86ab9e
Added field.attname to Options.name_map
...
The change also removed allow_explicit_fk from sql/query.py.
2013-07-31 16:02:36 +03:00
Tai Lee
31e6d58d46
Fixed #20348 -- Consistently handle Promise objects in model fields.
...
All Promise objects were passed to force_text() deep in ORM query code.
Not only does this make it difficult or impossible for developers to
prevent or alter this behaviour, but it is also wrong for non-text
fields.
This commit changes `Field.get_prep_value()` from a no-op to one that
resolved Promise objects. All subclasses now call super() method first
to ensure that they have a real value to work with.
2013-07-31 15:54:17 +03:00
SusanTan
ccf8f1e18f
Added a test for AdminSite.app_index_template; refs #8498 .
2013-07-31 06:59:15 -04:00