Commit Graph

6596 Commits

Author SHA1 Message Date
Preston Timmons cdb73ec8cd [1.8.x] Moved ssi tests into syntax_tests/test_ssi.py.
Backport of 441a47e1ef from master
2015-02-24 09:09:52 -05:00
Tim Graham 210bf24ddb [1.8.x] Cleaned up template loader tests.
Backport of 1827aa9024 from master
2015-02-24 08:59:05 -05:00
Nik Nyby 3e0df285fd [1.8.x] Fixed typos in flatpages_tests comments.
Backport of 2be6b52656 from master
2015-02-24 06:31:59 -05:00
Aymeric Augustin e3953de900 [1.8.x] Normalized usage of the tempfile module.
Specifically stopped using the dir argument.

Backport of a8fe12417f from master
2015-02-23 15:26:35 -05:00
Aymeric Augustin fae31f2348 [1.8.x] Guaranteed removal of temporary files during tests.
Dropped the DJANGO_TEST_TEMP_DIR environment variable.

Before this change, proper removal depended on the developer passing
dir=os.environ['DJANGO_TEST_TMP_DIR'] to tempfile functions.

Backport of 934400759d from master
2015-02-23 15:26:26 -05:00
Tim Graham 41d5ed480c [1.8.x] Fixed #24377 -- Fixed model inline formsets with primary key's that have defaults.
Backport of 1306cd1e8a from master
2015-02-23 09:01:00 -05:00
Anssi Kääriäinen 155a127afb [1.8.x] Fixed #24381 -- removed ForeignObjectRel opts and to_opts
These cached properies were causing problems with pickling, and in
addition they were confusingly defined: field.rel.model._meta was
not the same as field.rel.opts.

Instead users should use field.rel.related_model._meta inplace of
field.rel.opts, and field.rel.to._meta in place of field.rel.to_opts.

Backport of f95122e541 from master
2015-02-23 07:26:10 -05:00
Marten Kenbeek 980dfca717 [1.8.x] Fixed #24366 -- Optimized traversal of large migration dependency graphs.
Switched from an adjancency list and uncached, iterative depth-first
search to a Node-based design with direct parent/child links and a
cached, recursive depth-first search. With this change, calculating
a migration plan for a large graph takes several seconds instead of
several hours.

Marked test `migrations.test_graph.GraphTests.test_dfs` as an expected
failure due to reaching the maximum recursion depth.

Backport of 78d43a5e10 from master
2015-02-23 12:55:43 +01:00
Aymeric Augustin c564033408 [1.8.x] Fixed #24389 -- Isolated the CSRF view from the TEMPLATES setting.
Thanks uranusjr for the report and analysis.

Backport of 88a5f17 from master
2015-02-22 15:47:11 +01:00
Michael Angeletti 1feeefe918 [1.8.x] Fixed #24376 -- added verbose_name arg to UUIDField
Backport of ea3168dc6c from master
2015-02-21 14:26:47 -05:00
Aymeric Augustin 481d3bd617 [1.8.x] Removed obsolete reference to media directory.
Backport of 787dd6519a from master
2015-02-21 13:08:15 -05:00
Aymeric Augustin 82e323167d [1.8.x] Removed workaround for SVN limitations.
In addition to simplifying the code, this reduces the number of writes.

Backport of bd059e3f8c from master
2015-02-21 13:07:59 -05:00
Aymeric Augustin de3bda9cd3 [1.8.x] [1.8.x] Avoided collecting admin static files in tests.
This makes the staticfiles tests 2.5 times faster.

Backport of 2bb5b0e098 from master

Backport of bd059e3f8c from master
2015-02-21 13:07:42 -05:00
Aymeric Augustin 5c02c75068 [1.8.x] Removed TestServeAdminMedia.
It should have been removed when the ADMIN_MEDIA_PREFIX setting was deprecated.

Backport of 1d9d39fa1c from master
2015-02-21 13:05:11 -05:00
Loic Bistuer 850b2ca794 Removed zombie file again.
Refs 5355baf6c7.
2015-02-21 22:34:00 +07:00
Loic Bistuer 1b73c764d4 Fixed a couple of allow_migrate routers in tests.
This reverts commit 88e6fbb2e3.
2015-02-21 21:44:05 +07:00
foresmac 3207fcd0a0 [1.8.x] Fixed #24341 -- Added specific error messages to RangeField subclasses
Backport of 1d1d5d1c31 from master
2015-02-20 16:50:41 -05:00
Tim Graham 88e6fbb2e3 Silenced a deprecation warning in commands_sql test. 2015-02-20 13:24:29 -05:00
Tim Graham 5355baf6c7 Removed an inadvertently added test directory. 2015-02-20 13:16:42 -05:00
Anssi Kääriäinen 6f03a4ca91 [1.8.x] Fixed #24328 -- cleaned up Options._get_fields() implementation
Backport of bad5f262bf from master
2015-02-20 13:11:59 -05:00
Loic Bistuer 3a6c37fce4 [1.8.x] Fixed #24351, #24346 -- Changed the signature of allow_migrate().
The new signature enables better support for routing RunPython and
RunSQL operations, especially w.r.t. reusable and third-party apps.

This commit also takes advantage of the deprecation cycle for the old
signature to remove the backward incompatibility introduced in #22583;
RunPython and RunSQL won't call allow_migrate() when when the router
has the old signature.

Thanks Aymeric Augustin and Tim Graham for helping shape up the patch.

Refs 22583.

Conflicts:
	django/db/utils.py

Backport of bed504d70b from master
2015-02-20 21:55:50 +07:00
Marc Tamlyn b6ef67d752 [1.8.x] Fixed #24373 -- Added run_validators to ArrayField.
Thanks to DavidMuller for the report.

Backport of c490e410af from master
2015-02-20 11:53:17 +00:00
Marc Tamlyn 3886338c1d [1.8.x] Update converters to take a consistent set of parameters.
As suggested by Anssi. This has the slightly strange side effect of
passing the expression to Expression.convert_value has the expression
passed back to it, but it allows more complex patterns of expressions.

Backport of 32d4db66b9 from master
2015-02-20 11:47:48 +00:00
Marc Tamlyn c54d73ae01 [1.8.x] Fixed #24343 -- Ensure db converters are used for foreign keys.
Joint effort between myself, Josh, Anssi and Shai.

Conflicts:
	django/db/models/query.py
	tests/model_fields/models.py

Backport of 4755f8fc25 from master.
2015-02-20 11:46:57 +00:00
Alex Vidal 82f39bfb1a [1.8.x] Fixed typo in django.core.servers.basehttp message.
Backport of e467919c63 from master
2015-02-19 19:37:22 -05:00
Aymeric Augustin cc4effba0b [1.8.x] Set context.template instead of context.engine while rendering.
This opens more possibilities, like accessing context.template.origin.

It also follows the chain of objects instead of following a shortcut.

Backport of 1bfcc95 from master
2015-02-19 22:10:56 +01:00
Claude Paroz 84e7fec88d [1.8.x] Fixed #20889 -- Prevented BadHeaderError when Python inserts newline
Workaround for http://bugs.python.org/issue20747.
In some corner cases, Python 2 inserts a newline in a header value
despite `maxlinelen` passed in Header constructor.
Thanks Tim Graham for the review.
Backport of efb1f99f94 from master.
2015-02-19 20:19:38 +01:00
Shai Berger 66d37e593c [1.8.x] Fixed #24307: Avoided redundant column nullability modifications on Oracle
Thanks Joris Benschop for the report, and Tim Graham for the tests.

Backport of ceadc94f09 from master
2015-02-19 02:44:08 +02:00
Shai Berger e2a3be1e4d [1.8.x] Fixed #24362: Made test run each migration operation in its own schema editor
Thanks Tim Graham for pointing out the fix.

Backport of f7d34fe from master ticket_24362
2015-02-18 22:51:06 +02:00
Marten Kenbeek 84c9b24c5a [1.8.x] Fixed #24291 - Fixed migration ModelState generation with unused swappable models
Swapped out models don't have a _default_manager unless they have
explicitly defined managers. ModelState.from_model() now accounts for
this case and uses an empty list for managers if no explicit managers
are defined and a model is swapped out.

Backport of 15dc8d1c9d from master
2015-02-18 19:11:51 +01:00
Tim Graham 5068a51d88 [1.8.x] Refs #24324 -- Skipped fixtures_regress tests that fail on Python 2 on a non-ASCII path.
Backport of b8d6cdbcc9 from master
2015-02-18 07:36:02 -05:00
Tim Graham 2aa06e439a [1.8.x] Refs #24324 -- Fixed Python 2 test failures when path to Django source contains non-ASCII characters.
Backport of 307c0f299a from master
2015-02-17 19:05:31 -05:00
Tim Graham ec9119d4ec [1.8.x] Fixed "environment can only contain strings" in model_regress test on Windows.
Backport of ad50b6c853 from master
2015-02-17 13:55:18 -05:00
Tim Graham b2f7daa4a6 [1.8.x] Refs #24324 -- Fixed UnicodeDecodeError in model_regress test on non-ASCII path.
Backport of d316b43d0a from master
2015-02-17 07:35:00 -05:00
Tim Graham a00a0f8804 [1.8.x] Fixed #24290 -- Skipped postgres_tests if not running with PostgreSQL.
Backport of 8b39f33d78 from master
2015-02-17 06:35:17 -05:00
Tim Graham 730fb593ad [1.8.x] Fixed #24335 -- Bumped required psycopg2 version to 2.4.5 (2.5 for contrib.postgres).
Backport of 3adc5f1ee6 from master
2015-02-17 06:21:59 -05:00
Tim Graham ad2c6a756b [1.8.x] Moved contrib.contenttypes tests out of contrib.
Backport of 664c038f2c from master
2015-02-16 18:06:13 -05:00
Markus Holtermann 906d682ba0 Fixed regression in test introduced in d538e37e1b 2015-02-16 20:38:18 +01:00
Markus Holtermann b7cf99a8c3 [1.8.x] Added tests for get_related_models_recursive
Backport of d538e37e1b from master
2015-02-16 19:38:10 +01:00
Markus Holtermann 4e9ecfee77 [1.8.x] Refs #24282 -- Added failing test case for assigning models of wrong type to FK
Thanks Jeff Singer for the test case.

Backport of 273bc4b667 from master
2015-02-16 19:37:57 +01:00
Markus Holtermann 8ca0eb2af7 [1.8.x] Refs #24264 -- Added failing test case for updating a FK when changing a PK
When the primary key column is altered, foreign keys of referencing
models must be aware of a possible data type change as well and thus
need to be re-rendered.

Thanks Tim Graham for the report.

Backport of cc22b009e0 from master
2015-02-16 19:37:51 +01:00
Claude Paroz 10ea9ef012 [1.8.x] Refs #24225 -- Added failing test case for removing a previously added field in migrations
When a related field is deleted, the related model must be updated. As
unchanged models are shared in migration states, the related model must
be re-rendered so that the change applies to a new copy of the related
model.

Thanks Henrik Heimbuerger for the report.

Backport of 58d0dd9260 from master
2015-02-16 19:37:40 +01:00
Marten Kenbeek bc2eb6bfef [1.8.x] Fixed #24345 -- Isolated sitemaps_tests from contenttypes_tests; refs #11505
Backport of f668bac9d2 from master
2015-02-16 08:43:06 -05:00
Tim Graham ba9f602708 [1.8.x] Added new "W503 line break before binary operator" warning to flake8 ignore.
Backport of d652906aeb from master
2015-02-15 20:09:13 -05:00
Aymeric Augustin e8950668ca [1.8.x] Deprecated TEMPLATE_DEBUG setting.
Backport of 15b711b from master.
2015-02-15 20:48:48 +01:00
Tim Graham 259259a819 [1.8.x] Isolated auth_tests from contenttypes_tests; refs #11505.
Backport of e0b3926026 from master
2015-02-14 22:36:49 -05:00
Michael Angeletti e13dca859c [1.8.x] Added missing return value to DurationField.prepare_value(); refs #24339.
Backport of 49647bec6e from master
2015-02-14 18:39:17 -05:00
Aymeric Augustin 87e9cad4a4 [1.8.x] Fixed #24318 -- Set the transaction isolation level with psycopg >= 2.4.2.
Backport of 76356d96 from master
2015-02-14 18:52:28 +01:00
Michael Angeletti 2e6d8e51db [1.8.x] Fixed #24339 -- Fixed crash with empty DurationField form field.
Backport of 8a21d25033 from master
2015-02-14 07:38:20 -05:00
Aymeric Augustin 0f3eb8260b [1.8.x] Fixed #24338 -- Accepted Template wrapper in {% extends %}.
Explicitly checking for django.template.Template subclasses is
preferrable to duck-typing because both the django.template.Template and
django.template.backends.django.Template have a render() method.

Thanks spectras for the report.

Backport of 47ee7b48 from master
2015-02-14 10:36:44 +01:00
Loic Bistuer 20b621eb3c [1.8.x] Fixed #24289 -- Reversed usage of Field.many_to_one and one_to_many.
Thanks Carl Meyer and Tim Graham for the reviews and to all involved
in the discussion.

Backport of 18c0aaa912 from master
2015-02-14 02:42:06 +07:00
Andriy Sokolovskiy 136edac897 [1.8.x] Fixed #24320 - Used field.value_to_string() in serialization of foreign key.
This fixes serialization of a ForeignKey to a UUIDField as the
test indicates.

Backport of 5c995dcfc2 from master
2015-02-13 12:45:35 -05:00
Tim Graham 2347f3267f [1.8.x] Fixed #24315 -- Fixed auth.views.password_reset_confirm() with a UUID user.
Backport of 002425fe39 from master
2015-02-13 09:57:44 -05:00
Tim Graham 8fc4840289 [1.8.x] Fixed #24334 -- Allowed admin password reset to work with non-digit custom user model primary key.
Thanks Loic for help and Simon for review.

Backport of fdf20093e0 from master
2015-02-13 09:50:55 -05:00
Markus Holtermann bd80fa6b0f [1.8.x] Fixed #24184 -- Prevented automatic soft-apply of migrations
Previously Django only checked for the table name in CreateModel
operations in initial migrations and faked the migration automatically.
This led to various errors and unexpected behavior. The newly introduced
--fake-initial flag to the migrate command must be passed to get the
same behavior again. With this change Django will bail out in with a
"duplicate relation / table" error instead.

Thanks Carl Meyer and Tim Graham for the documentation update, report
and review.

Backport of f287bec583 from master
2015-02-13 15:21:10 +01:00
Markus Holtermann 4ba7d73f94 [1.8.x] Removed explicit pointers to migration modules for contrib apps in runtest
Thanks Tim Graham for the patch

Backport of b4e1090ab2 from master
2015-02-13 15:21:03 +01:00
Markus Holtermann 45d93baf51 [1.8.x] Refs #22962 -- Made test case use non-conflicting table names
Backport of b06935a486 from master
2015-02-13 14:39:50 +01:00
Tim Graham 4c948c7c9d [1.8.x] Fixed #24332 -- Fixed contrib.sites create_default_site() when 'default' DATABASES is empty.
Backport of e8cf4f8abe from master
2015-02-13 07:02:37 -05:00
Josh Smeaton 47b23ca2ee [1.8.x] Refs #14030 -- Added tests for Value aggregates
Backport of bd4afef984 from master
2015-02-13 11:24:25 +11:00
Josh Smeaton 1784c326b1 [1.8.x] Fixed #24319 -- Added validation for UUID model field
Backport of de0241eb98 from master
2015-02-13 10:01:06 +11:00
Tim Graham 03f4e2d909 [1.8.x] Fixed #24333 -- Fixed admin history view crash with non-integer slug.
Backport of d64baaef3b from master
2015-02-12 14:20:17 -05:00
Tim Graham 8d1816db87 [1.8.x] Added a test for UUIDField serialization; refs #24320.
Backport of d7509c5246 from master
2015-02-12 10:17:31 -05:00
Tim Graham 7b5aa20a28 [1.8.x] Fixed #17716 -- Prevented include('...', app_name='...') without a namespace.
Backport of 27eeb64a96 from master
2015-02-12 08:19:10 -05:00
Tim Graham 596564e808 [1.8.x] Fixed #24161 -- Stored the user primary key as a serialized value in the session.
This allows using a UUIDField primary key along with the JSON session
serializer.

Thanks to Trac alias jamesbeith for the report and Simon Charette
for the initial patch.

Backport of 0f7f5bc9e7 from master
2015-02-12 07:40:14 -05:00
Lukas Klein 1904022f91 [1.8.x] Fixed #24321 -- Improved `utils.http.same_origin` compliance with RFC6454
Backport of 93b3ef9b2e from master.
2015-02-12 09:01:59 +01:00
Josh Smeaton a6ea62aeaf [1.8.x] Refs #14030 -- Improved expression support for python values
Backport of e2d6e14662 from master
2015-02-12 08:53:03 +11:00
Collin Anderson 343c087533 [1.8.x] Refs #14497 -- Handled empty readonly admin FileFields
Backport of 07cfe1bd82 from master
2015-02-11 13:01:25 -05:00
Tim Graham e06971340d [1.8.x] Moved contrib.webdesign tests out of contrib.
Backport of 8ec306a3a9 from master
2015-02-11 12:35:32 -05:00
Tim Graham 411028df53 [1.8.x] Updated docs and runtests.py for removal of tests from contrib.
Backport of 7cf3a5786b from master
2015-02-11 12:05:55 -05:00
Tim Graham 69c89aeccf [1.8.x] Moved contrib.gis tests out of contrib.
Backport of ad0be620ae from master
2015-02-11 12:05:29 -05:00
Tim Graham 2482c9dd24 [1.8.x] Moved non-documented auth test models to the new test location.
Backport of 5ab327a389 from master
2015-02-11 12:03:03 -05:00
Tim Graham e55d888b66 [1.8.x] Moved contrib.auth tests out of contrib.
Backport of 2d7aca3da0 from master
2015-02-11 12:02:35 -05:00
Tim Graham 44df17d53c [1.8.x] Moved contrib.humanize tests out of contrib.
Backport of 8192a164de from master
2015-02-11 11:55:53 -05:00
Tim Graham c0f0f93b5d [1.8.x] Moved contrib.redirects tests out of contrib.
Backport of 00da46091a from master
2015-02-11 11:55:40 -05:00
Tim Graham bbe7964185 [1.8.x] Moved contrib.messages tests out of contrib.
Backport of b3cd9e0d07 from master
2015-02-11 11:55:05 -05:00
Tim Graham 10fdd2fc1d [1.8.x] Moved contrib.sessions tests out of contrib.
Backport of fac3a34cbb from master
2015-02-11 11:54:51 -05:00
Tim Graham e1046a96bc [1.8.x] Moved contrib.sitemaps tests out of contrib.
Backport of fbc467c26b from master
2015-02-11 11:52:10 -05:00
Tim Graham 0520cfe94a [1.8.x] Moved contrib.sites tests out of contrib.
Backport of d8341bf024 from master
2015-02-11 11:50:23 -05:00
Tim Graham 36bf6ec9eb [1.8.x] Moved contrib.flatpages tests out of contrib.
Backport of d3a725054f from master
2015-02-11 11:47:58 -05:00
Tim Graham a0553d1a7c [1.8.x] Prevented some test commands from needlessly running system checks.
This is a performance optimization and also fixes test errors with the
upcoming merge of contrib tests into tests/. The tests failed on MySQL
because the models with GeometryField were being checked but the
non-GIS MySQL backend didn't know how to handle them.

Backport of 197dd4b8f1 from master
2015-02-11 10:17:53 -05:00
Daniel Pyrathon fdcc9c47d5 [1.8.x] Fixed #24146 -- Allowed model._meta.get_field() to be used after apps.models_ready
Backport of 19188826b4 from master
2015-02-10 19:55:42 -05:00
Tim Graham a8b70d251d [1.8.x] Sorted imports with isort; refs #23860.
Backport of 0ed7d15563 from master
2015-02-09 14:24:06 -05:00
Tim Graham eb406aa686 [1.8.x] Silenced deprecation warning in refs #24287 test. 2015-02-09 12:34:23 -05:00
Tim Graham 9744529c12 [1.8.x] Fixed #24302 -- Added DurationField.formfield()
Backport of 2d7c27d387 from master
2015-02-09 10:21:15 -05:00
jMyles ac576e9f45 [1.8.x] Fixed #24287 -- Added friendly error if a model is in a models.py outside an installed app. 2015-02-09 09:38:03 -05:00
Tim Graham 6e50fc9246 [1.8.x] Removed unnecessary parentheses in model check messages.
Backport of e144e0e237 from master
2015-02-09 08:57:02 -05:00
Aron Podrigal eb9fbc0b1d [1.8.x] Fixed #24249 -- Improved field shadowing validation in model multi-inheritance.
Backport of 4d73303ee9 from master
2015-02-09 08:43:40 -05:00
Claude Paroz cd260d03bd [1.8.x] Replaced hardcoded URLs in admin_* tests
Refs #15779. This will allow easier admin URL changes, when needed.
Thanks Simon Charette for the review.

Backport of 32e6a7d3a5 from master
2015-02-08 15:12:07 -05:00
Varun Sharma b44a56c308 [1.8.x] Fixed #24181 -- Fixed multi-char THOUSAND_SEPARATOR insertion
Report and original patch by Kay Cha.
Backport of 540ca563de from master.
2015-02-08 20:09:04 +01:00
Collin Anderson fc8e1e0c10 [1.8.x] Fixed E265 comment style
Backport of db77915c9f from master
2015-02-06 09:35:08 -05:00
Tim Graham fc1e9107d7 [1.8.x] Added UUIDField.deconstruct()
Backport of 0f54cf28c0 from master
2015-02-05 19:15:37 -05:00
Markus Holtermann c9addfd4bf [1.8.x] Fixed small regression caused by e3702dc3f2
Since 1.7 models need to declare an explicit app_label if they are not
in an application in INSTALLED_APPS or were imported before their
application was loaded.

Backport of 235124d3ea from master
2015-02-06 00:50:42 +01:00
Markus Holtermann e3702dc3f2 [1.8.x] Cleaned up schema tests
Thanks Tim Graham for the review.

Backport of 0204714b0b from master
2015-02-05 20:15:18 +01:00
Aymeric Augustin aed1b1f6e5 [1.8.x] Fixed #24265 -- Preserved template backend loading exceptions.
If importing or initializing a template backend fails, attempting to
access this template backend again must raise the same exception.

Backport of 44ad6915 from master
2015-02-05 20:09:22 +01:00
Aymeric Augustin 5fbec369aa [1.8.x] Fixed #24273 -- Allowed copying RequestContext more than once.
Thanks Collin Anderson for the report.

Backport of 31d3a355 from master
2015-02-05 14:07:18 +01:00
Matthew Somerville 2a55301f9f [1.8.x] Fixed #24242 -- Improved efficiency of utils.text.compress_sequence()
The function no longer flushes zfile after each write as doing so can
lead to the gzipped streamed content being larger than the original
content; each flush adds a 5/6 byte type 0 block. Removing this means
buf.read() may return nothing, so only yield if that has some data.
Testing shows without the flush() the buffer is being flushed every 17k
or so and compresses the same as if it had been done as a whole string.

Backport of caa3562d5b from master
2015-02-04 15:17:22 -05:00
mlavin d585ade0df [1.8.x] Fixed #24197 -- Added clearing of staticfiles caches on settings changes during tests
Cleared caching in staticfiles_storage and get_finder when
relevant settings are changed.

Backport of 2730dad0d7 from master
2015-02-04 10:54:33 -05:00
Riccardo Magliocchetti 4957b8a406 [1.8.x] Fixed #14497 -- Improved admin widget for "read only" FileFields
Based on patch by Adam J Forster, Paul Collins, and Julien.

Backport of 2be621e44c from master
2015-02-04 09:05:41 -05:00
Josh Schneier 16e3910e9c [1.8.x] Fixed typos of "select_related" in docs and tests.
Backport of 7d363ed432 from master
2015-02-04 07:32:34 -05:00
Aron Podrigal fc49e73648 [1.8.x] Fixed #15321 -- Honored ancestors unique checks.
Thanks to Tim for the review.

Backport of 79f27f2b61 from master
2015-02-03 18:58:48 -05:00
Tim Graham 3e24ab6f4c [1.8.x] Refactored tests that rely on an ImportError for Python 3.5 compatibility
A change in Python test discovery [1] causes the old packages that raised
an error to be discovered; now we use a common directory that's
ignored during discovery. Refs #23763.

[1] http://bugs.python.org/issue7559

Backport of c0cc8f69e7 from master
2015-02-03 18:31:17 -05:00
Simon Charette cbcf92e95f [1.8.x] Fixed #24266 -- Changed get_parent_list to return a list ordered by MRO.
Thanks to Aron Podrigal for the initial patch and Tim for the review.

Backport of 65e005f8cd from master
2015-02-03 16:41:51 -05:00
Tim Graham 92d5bedc56 [1.8.x] Reverted "Fixed #24146 -- Fixed a missing fields regression in admin checks."
This reverts commit e8171daf0c.

A new solution is forthcoming.

Backport of 0e489c19f1 from master
2015-02-03 15:24:24 -05:00
Claude Paroz ea3e40c278 [1.8.x] Fixed #24252 -- Forced lazy __str__ to utf-8 on Python 2
Thanks Stanislas Guerra for the report and Tomas Ehrlich for
the review.
Backport of cd0ceaa102 from master.
2015-02-03 18:26:08 +01:00
Matthew Somerville d88c24f436 [1.8.x] Fixed #24240 -- Allowed GZipping a Unicode StreamingHttpResponse
make_bytes() assumed that if the Content-Encoding header is set, then
everything had already been dealt with bytes-wise, but in a streaming
situation this was not necessarily the case.

make_bytes() is only called when necessary when working with a
StreamingHttpResponse iterable, but by that point the middleware has
added the Content-Encoding header and thus make_bytes() tried to call
bytes(value) (and dies). If it had been a normal HttpResponse,
make_bytes() would have been called when the content was set, well
before the middleware set the Content-Encoding header.

This commit removes the special casing when Content-Encoding is set,
allowing unicode strings to be encoded during the iteration before they
are e.g. gzipped. This behaviour was added a long time ago for #4969 and
it doesn't appear to be necessary any more, as everything is correctly
made into bytes at the appropriate places.

Two new tests, to show that supplying non-ASCII characters to a
StreamingHttpResponse works fine normally, and when passed through the
GZip middleware (the latter dies without the change to make_bytes()).
Removes the test with a nonsense Content-Encoding and Unicode input - if
this were to happen, it can still be encoded as bytes fine.

Backport of 250aa7c39b from master.
2015-02-03 18:19:06 +01:00
Anssi Kääriäinen 43b0131fb5 [1.8.x] Fixed #23617 -- Added get_pk_value_on_save()
The method is mainly intended for use with UUIDField. For UUIDField we
want to call the field's default even when primary key value is
explicitly set to None to match the behavior of AutoField.

Thanks to Marc Tamlyn and Tim Graham for review.

Backport of 8adc59038c from master
2015-02-03 09:25:55 -05:00
Tim Graham 9ffe013caa [1.8.x] Fixed #24263 -- Prevented extra queries on BaseDateDetailView with a custom queryset.
Thanks jekka-ua for the report and patch.

Backport of 118b11221f from master
2015-02-03 09:13:10 -05:00
Aymeric Augustin f87457a460 [1.8.x] Fixed #24168 -- Allowed selecting a template engine in a few APIs.
Specifically in rendering shortcuts, template responses, and class-based
views that return template responses.

Also added a test for render_to_response(status=...) which was missing
from fdbfc980.

Thanks Tim and Carl for the review.

Backport of 2133f31 from master.

Conflicts:
	docs/topics/http/shortcuts.txt
	tests/generic_views/test_base.py
2015-02-03 08:32:14 +01:00
Tim Graham fe770a6452 [1.8.x] Fixed expressions test on Python 3.5; refs #23763.
Backport of 62df1834b8 from master
2015-02-01 20:11:40 -05:00
Tim Graham c9e538b174 [1.8.x] Removed threading fallback imports.
Django imports threading in many other places without fallback.

Backport of 18f3e79b13 from master
2015-02-01 18:45:01 -05:00
Tim Graham 7060ef7158 [1.8.x] Reverted "Fixed #6785 -- Made QuerySet.get() fetch a limited number of rows."
This reverts commit da79ccca1d.

This optimized the unsuccessful case at the expense of the successful one.

Backport of 293fd5da5b from master
2015-01-30 12:52:39 -05:00
Simon Charette a301061f88 [1.8.x] Fixed #23940 -- Allowed model fields to be named `exact`.
An explicit `__exact` lookup in the related managers filters
was interpreted as a reference to a foreign `exact` field.

Thanks to Trac alias zhiyajun11 for the report, Josh for the investigation,
Loïc for the test name and Tim for the review.

Backport of eb4cdfbdd6 from master
2015-01-29 14:42:28 -05:00
Josh Smeaton 6c68e40e6e [1.8.x] Refs #14030 -- Added repr methods to all expressions
Backport of 7171bf755b from master
2015-01-28 11:03:39 +11:00
Josh Smeaton 405351ba2f [1.8.x] Refs #24060 -- Added a test demonstrating reverse order isn't mutable
Backport of f218a2ff45 from master
2015-01-28 11:03:25 +11:00
Raul Cumplido 7cc1b4710e [1.8.x] Fixed #24209 -- Prevented crash when parsing malformed RFC 2231 headers
Thanks Tom Christie for the report and review.
Backport of ac650d02cb from master.
2015-01-27 20:16:53 +01:00
Josh Smeaton e56810e839 [1.8.x] Fixed #24154 -- Backends can now check support for expressions
Backport of 8196e4bdf4 from master
2015-01-27 14:47:38 +11:00
Tomáš Ehrlich 5dff3513cc [1.8.x] Fixed #24220 - Allowed lazy objects for success_url
Backport of 511be35779 from master
2015-01-26 12:42:08 -05:00
Tim Graham 242c9538c8 [1.8.x] Fixed test_runner test failure on Python 3.5; refs #23763.
Python change is http://bugs.python.org/issue22032

Backport of 0386b97706 from master
2015-01-23 16:42:33 -05:00
Ng Zhi An 56015c01c4 [1.8.x] Fixed #24170 -- Implemented decompress for BaseRangeField widgets
Backport of 4669b6a807 from master
2015-01-23 15:07:03 -05:00
Claude Paroz bc93568500 [1.8.x] Fixed warning leak in static.serve() test
Partial forward port of b1bf8d64fb from 1.7.x. Refs #24193.
2015-01-23 09:05:46 +01:00
Andriy Sokolovskiy 11a5e45b96 [1.8.x] Fixed #24104 -- Fixed check to look on field.many_to_many instead of class instance
Backport of 38c17871bb from master
2015-01-22 18:53:47 +01:00
Loic Bistuer 0580133971 [1.8.x] Fixed small inconsistency when handling aggregate's default_alias.
Refs #14030.

Backport of d450af8a26 from master
2015-01-22 08:02:07 +07:00
Adam Taylor 45aaced91e [1.8.x] Fixed typos in code comments.
Backport of 039465a6a7 from master
2015-01-20 12:18:29 -05:00
Markus Holtermann 20f1aafa14 [1.8.x] Refs #24163 -- Fixed failing Oracle test when migrating from ForeignKey to OneToOneField
Thanks Tim Graham for review

Backport of 64ecb3f07d from master
2015-01-20 17:45:29 +01:00
Marc Tamlyn c80b2144d2 [1.8.x] Fixes #24169 -- More arrayfield specific lookups.
varchar()[] cannot compare itself to text[]

Thanks to joelburton for the patch.

Backport of 0ae94d0d31 from master
2015-01-20 10:26:32 +00:00
Josh Smeaton 504cd5d3be [1.8.x] Fixed #24183 -- Fixed wrong comparisons in Substr
Backport of 61c102d010 from master
2015-01-20 12:11:27 +11:00
Tim Graham 06fa019c1b [1.8.x] Fixed #24153 -- Fixed cookie test compatibility with Python 3.4.3+
Backport of b19b81b396 from master
2015-01-19 15:39:36 -05:00
Markus Holtermann e55cb91bd4 [1.8.x] Fixed #24163 -- Removed unique constraint after index on MySQL
Thanks Łukasz Harasimowicz for the report.

Backport of 5792e6a88c from master
2015-01-19 16:55:25 +01:00
Josh Smeaton 0c910823c1 [1.8.x] Fixed #24174 -- Fixed extra order by descending
Backport of 69c6a6868f from master
2015-01-19 13:18:09 +11:00
Tim Graham 663db8ea2a [1.8.x] Removed usage of deprecated removetags in a template test.
Backport of b84100e8e2 from master
2015-01-18 18:33:56 -05:00
Markus Holtermann 5512338d4f [1.8.x] Cleaned up migration writer tests
Backport of 65d55c4093 from master
2015-01-17 20:42:58 +01:00
Marc Tamlyn 39d95fb6ad Fixed #24092 -- Widened base field support for ArrayField.
Several issues resolved here, following from a report that a base_field
of GenericIpAddressField was failing.

We were using get_prep_value instead of get_db_prep_value in ArrayField
which was bypassing any extra modifications to the value being made in
the base field's get_db_prep_value. Changing this broke datetime
support, so the postgres backend has gained the relevant operation
methods to send dates/times/datetimes directly to the db backend instead
of casting them to strings. Similarly, a new database feature has been
added allowing the uuid to be passed directly to the backend, as we do
with timedeltas.

On the other side, psycopg2 expects an Inet() instance for IP address
fields, so we add a value_to_db_ipaddress method to wrap the strings on
postgres. We also have to manually add a database adapter to psycopg2,
as we do not wish to use the built in adapter which would turn
everything into Inet() instances.

Thanks to smclenithan for the report.
2015-01-16 16:15:16 -05:00
Collin Anderson e8171daf0c Fixed #24146 -- Fixed a missing fields regression in admin checks.
This allows using get_field() early in the app loading process.

Thanks to PirosB3 and Tim Graham.
2015-01-16 14:47:09 -05:00
Claude Paroz b4ac232907 Fixed #24099 -- Removed contenttype.name deprecated field
This finsishes the work started on #16803.
Thanks Simon Charette, Tim Graham and Collin Anderson for the
reviews.
2015-01-16 20:21:34 +01:00
Collin Anderson 5338ff4808 Fixed #24160 -- Fixed model_regress test on Windows; refs #24007. 2015-01-16 11:59:08 -05:00
Tim Graham 28db4af80a Fixed #24135 -- Made RenameModel rename many-to-many tables.
Thanks Simon and Markus for reviews.
2015-01-15 20:34:33 -05:00
Yang Liu 3f9ec12d9c Fixed #23712 -- Fixed KeyError with BaseForm._html_output() 2015-01-15 20:19:53 -05:00
Collin Anderson faf0d66a80 Fixed #23850 -- Fixed a migrations test failure on Mac OS X & Python 3 2015-01-15 19:45:43 -05:00
Michał Modzelewski 39b58ad95a Fixed #24148 -- Documented a bug with case expressions in SQLite < 3.7.0 2015-01-15 19:42:05 -05:00
Collin Anderson 67dbc56ec8 Made an expressions_case test work without Pillow. 2015-01-15 14:02:58 -05:00
Tim Graham 9801d419b9 Skipped a problematic file_storage test on Windows. 2015-01-14 15:00:27 -05:00
Collin Anderson 2d5da57f48 Fixed incorrect error message in Options.get_fields() 2015-01-14 14:51:05 -05:00
Tim Graham 28308078f3 Fixed #22603 -- Reorganized classes in django.db.backends. 2015-01-14 14:16:20 -05:00
Tim Graham a6f144fd4f Fixed a static view test on Windows. 2015-01-14 13:56:49 -05:00
Markus Holtermann 88786afbff Fixed #24147 -- Prevented managers leaking model during migrations
Thanks Tim Graham for the review.
2015-01-14 16:09:33 +01:00
Tim Graham baf2542c4f Fixed DoS possibility in ModelMultipleChoiceField.
This is a security fix. Disclosure following shortly.

Thanks Keryn Knight for the report and initial patch.
2015-01-13 13:03:06 -05:00
Tim Graham a3bebfdc34 Ensured views.static.serve() doesn't use large memory on large files.
This issue was fixed in master by refs #24072.
2015-01-13 13:03:06 -05:00
Tim Graham 69b5e66738 Fixed is_safe_url() to handle leading whitespace.
This is a security fix. Disclosure following shortly.
2015-01-13 13:03:06 -05:00
Carl Meyer 316b8d4974 Stripped headers containing underscores to prevent spoofing in WSGI environ.
This is a security fix. Disclosure following shortly.

Thanks to Jedediah Smith for the report.
2015-01-13 13:03:05 -05:00
Michał Modzelewski 65246de7b1 Fixed #24031 -- Added CASE expressions to the ORM. 2015-01-12 18:15:34 -05:00
Josh Smeaton 21b858cb67 Fixed #24060 -- Added OrderBy Expressions 2015-01-13 09:39:55 +11:00
Claude Paroz f48e2258a9 Fixed #24133 -- Replaced formatting syntax in success_url placeholders
Thanks Laurent Payot for the report, and Markus Holtermann, Tim Graham
for the reviews.
2015-01-12 22:51:22 +01:00
Aymeric Augustin 5f7230e12f Fixed #24124 (again) -- Updated tests with new default context_processors.
Thanks Collin for the review.
2015-01-12 22:31:44 +01:00
Aymeric Augustin 6b5113ec94 Made debug views not crash when there isn't a default template engine. 2015-01-12 21:01:34 +01:00
Aymeric Augustin 79deb6a071 Accounted for multiple template engines in template responses. 2015-01-12 21:01:34 +01:00
Aymeric Augustin a3e783fe11 Deprecated passing a Context to a generic Template.render.
A deprecation path is required because the return type of
django.template.loader.get_template changed during the
multiple template engines refactor.

test_csrf_token_in_404 was incorrect: it tested the case when the
hardcoded template was rendered, and that template doesn't depend on the
CSRF token. This commit makes it test the case when a custom template is
rendered.
2015-01-12 21:01:34 +01:00
Aymeric Augustin 71b7668b75 Rewrapped TemplateSyntaxError in Jinja2 backend.
Changed import style to avoid confusion between Django's and Jinja2's
APIs.
2015-01-12 21:01:34 +01:00
Claude Paroz 4c413e231c Fixed #17785 -- Preferred column names in get_relations introspection
Thanks Thomas Güttler for the report and the initial patch, and
Tim Graham for the review.
2015-01-12 19:58:47 +01:00
Muthiah Annamalai b75c707943 Fixed #24089 -- Added check for when ModelAdmin.fieldsets[1]['fields'] isn't a list/tuple. 2015-01-12 13:47:58 -05:00
Markus Holtermann eeb88123e7 Fixed #24129 -- Added indicator that migrations are rendering the initial state
Thanks Tim Graham for the review.
2015-01-12 19:23:46 +01:00
Tim Graham 9f51d0c86d Fixed test from refs #23913 when running tests in reverse. 2015-01-12 13:20:44 -05:00
Markus Holtermann bbbed99f62 Fixed #24123 -- Used all available migrations to generate the initial migration state
Thanks Collin Anderson for the input when creating the patch and Tim Graham for the review.
2015-01-12 18:39:18 +01:00
Pavel Shpilev a7c256cb54 Fixed #9893 -- Allowed using a field's max_length in the Storage. 2015-01-12 09:09:18 -05:00
Marc Tamlyn b5c1a85b50 Fixed #24118 -- Added --debug-sql option for tests.
Added a --debug-sql option for tests and runtests.py which outputs the
SQL logger for failing tests. When combined with --verbosity=2, it also
outputs the SQL for passing tests.

Thanks to Berker, Tim, Markus, Shai, Josh and Anssi for review and
discussion.
2015-01-12 08:16:08 +00:00
Claude Paroz 68a439a18d Removed supports_binary_field flag as all backends support them
It was mainly for MySQL on Python 3, but now the current
recommended MySQL driver for Python 3 (mysqlclient) does support
binary fields, it is unneeded. Refs #20377.
2015-01-11 23:34:47 +01:00
Ola Sitarska d563e3be68 Fixed #23913 -- Deprecated the `=` comparison in `if` template tag. 2015-01-11 15:21:01 -05:00
Claude Paroz 412066e71e Revert "Marked a test as an expected failure on MySQL and Python 3.2."
This reverts commit 832b4a5722.
We officially don't support MySQL on Python 3.2. Refs #20380.
2015-01-11 20:59:07 +01:00
Markus Holtermann fdc2cc9487 Fixed #24110 -- Rewrote migration unapply to preserve intermediate states 2015-01-10 23:14:15 +01:00
Simon Charette 07988744b3 Fixed #13165 -- Added edit and delete links to admin foreign key widgets.
Thanks to Collin Anderson for the review and suggestions and Tim for the
final review.
2015-01-10 12:24:52 -05:00
Marc Tamlyn 48ad288679 Fixed #24001 -- Added range fields for PostgreSQL.
Added support for PostgreSQL range types to contrib.postgres.

- 5 new model fields
- 4 new form fields
- New validators
- Uses psycopg2's range type implementation in python
2015-01-10 16:18:19 +00:00
Claude Paroz 7289d01973 Introspected alternate SQLite FK definitions 2015-01-10 16:51:14 +01:00
Claude Paroz ffca9b49d4 Updated introspection test to use skipUnlessDBFeature 2015-01-10 15:42:31 +01:00
Claude Paroz d7bc37d611 Fixed #24097 -- Prevented AttributeError in redirect_to_login
Thanks Peter Schmidt for the report and the initial patch.
Thanks to ​Oktay Sancak for writing the original failing test and
Alvin Savoy for supporting contributing back to the community.
2015-01-10 10:05:02 +01:00
Loic Bistuer 8f4877c89d Fixed #22583 -- Allowed RunPython and RunSQL to provide hints to the db router.
Thanks Markus Holtermann and Tim Graham for the review.
2015-01-10 00:30:48 +07:00
Preston Timmons 665e0aa6ec Fixed #24094 -- Enabled template tests to run individually. 2015-01-09 11:43:59 -05:00
Markus Holtermann c8bac4b556 Fixed #24098 -- Added no-op attributes to RunPython and RunSQL
Thanks Loïc Bistuer and Tim Graham for the discussion and review.
2015-01-09 10:31:32 -05:00
Anssi Kääriäinen 0c7633178f Fixed #24020 -- Refactored SQL compiler to use expressions
Refactored compiler SELECT, GROUP BY and ORDER BY generation.
While there, also refactored select_related() implementation
(get_cached_row() and get_klass_info() are now gone!).

Made get_db_converters() method work on expressions instead of
internal_type. This allows the backend converters to target
specific expressions if need be.

Added query.context, this can be used to set per-query state.

Also changed the signature of database converters. They now accept
context as an argument.
2015-01-08 14:07:54 -05:00
Tim Graham b8abfe141b Fixed #24101 -- Fixed flaky admin_views selenium tests; refs #7361. 2015-01-08 13:17:00 -05:00
Tim Graham 5c43fd4825 Isolated some cache tests; refs #23947.
This reverts a change made in 40c60efecc
which was incorrect and caused CacheKeyWarnings.
2015-01-08 13:14:45 -05:00
Claude Paroz 543df07720 Fixed #24073 -- Returned None for get_language when translations are deactivated
This fixes a regression caused by f7c287fca9. Thanks Markus Holtermann
for identifying the regression.
2015-01-08 17:43:07 +01:00
Tim Graham ade9859996 Fixed #24095 -- Prevented WarningLoggerTests from leaking a warnings filter. 2015-01-08 08:49:54 -05:00
Markus Holtermann 862ea825b5 Fixed #24093 -- Prevented MigrationWriter to write operation kwargs that are not explicitly deconstructed 2015-01-07 17:29:20 -07:00
Tim Graham f487a3275e Avoided a deprecated alias on Python 3 in file_uploads test. 2015-01-07 19:12:37 -05:00
Josh Smeaton 8713ea7568 Fixed null handling in Value expression 2015-01-07 19:07:49 -05:00
Markus Holtermann 1f03d2d924 Refs #23822 -- Made MigrationOptimizer aware of model managers 2015-01-07 17:33:04 -05:00
Aymeric Augustin 127f9e073d Restored support for multiple template names in render(_to_response).
This possibility was documented but not tested.

It had been broken during the multiple template engines refactor.
2015-01-07 21:54:22 +01:00
Aymeric Augustin eaa1a22341 Added a request argument to render_to_string.
This is for consistency with Template.render.

It adds a little bit of knowledge about HTTP requests in
django.template.loader but I think consistency trumps purity.
2015-01-07 21:54:22 +01:00
Claude Paroz f7c287fca9 Fixed #24073 -- Deactivated translations when leave_locale_alone is False
Thanks Tim Graham and Markus Holtermann for the reviews.
2015-01-07 20:11:24 +01:00
Michał Modzelewski ee86e59051 Refs #2443 -- Allowed creation of objects with NULL DurationFields 2015-01-07 08:33:26 -05:00
Josh Smeaton 5a4ac4ead9 Fixed #24078 -- Removed empty strings from GenericIPAddressField 2015-01-07 08:08:36 -05:00
Daniel Pyrathon fb48eb0581 Fixed #12663 -- Formalized the Model._meta API for retrieving fields.
Thanks to Russell Keith-Magee for mentoring this Google Summer of
Code 2014 project and everyone else who helped with the patch!
2015-01-06 19:25:12 -05:00
Tim Graham 749d23251b Removed warning handling that should have been removed in refs #23891. 2015-01-06 18:33:55 -05:00
Aymeric Augustin 0cdb09d489 Made context take priority over context processors.
This is the expected behavior, but given RequestContext's tortuous
implementation, a straightforward use of its API results in the
opposite.

This commits fixes a regression that must have happened at different
points in the multiple templates engine refactor for different features.
2015-01-06 22:02:27 +01:00
Danilo Bargen 2e65d56156 Fixed #20003 -- Improved and extended URLValidator
This adds support for authentication data (`user:password`) in URLs,
IPv6 addresses, and unicode domains.

The test suite has been improved by adding test URLs from
http://mathiasbynens.be/demo/url-regex (with a few adjustments,
like allowing local and reserved IPs).

The previous URL validation regex failed this test suite on 13
occasions, the validator was updated based on
https://gist.github.com/dperini/729294.
2015-01-06 14:04:25 -05:00
Claude Paroz 011f21b4fa Used None-related assertions in CSRF tests
Thanks Markus Holtermann for spotting this.
2015-01-06 08:48:01 +01:00
Claude Paroz 27dd7e7271 Fixed #23815 -- Prevented UnicodeDecodeError in CSRF middleware
Thanks codeitloadit for the report, living180 for investigations
and Tim Graham for the review.
2015-01-06 08:42:58 +01:00
Preston Timmons de9ebdd39c Fixed #24022 -- Deprecated the ssi tag. 2015-01-05 19:35:02 -05:00
Markus Holtermann e08318b4ef Refs #23359 -- Removed double newline from output of migrate --list
Thanks Berker Peksag for the review.
2015-01-05 14:52:54 -05:00
Tim Graham 789baf9c3a Fixed test failures introduced in refs #23861. 2015-01-05 14:35:30 -05:00
Tim Graham c87ee41954 Fixed #23861 -- Added an API to deprecate model fields.
Thanks Markus Holterman and Berker Peksag for review.
2015-01-05 11:35:36 -05:00