Marten Kenbeek
78d43a5e10
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.
2015-02-23 12:38:53 +01:00
Michael Manfre
7fa7dd48c4
Fixed signature of BaseDatabaseOperations.date_interval_sql() and document the change.
2015-02-22 23:23:16 -05:00
Aymeric Augustin
556a74879f
Fixed a few uses of Template that relied on a default engine.
...
Refs #24389 .
2015-02-22 23:13:55 +01:00
Aymeric Augustin
c688460df6
Removed rmtree_errorhandler.
...
The stated reason for its introduction in d18d37ce
no longer applies
since Django's code repository was switched from Subversion to git.
Furthermore it never had any effect because shutil.rmtree ignores its
onerror argument when ignore_errors is True.
The reason for its use in template management commands is unclear.
2015-02-22 23:09:42 +01:00
Aymeric Augustin
88a5f17d25
Fixed #24389 -- Isolated the CSRF view from the TEMPLATES setting.
...
Thanks uranusjr for the report and analysis.
2015-02-22 15:46:35 +01:00
Michael Angeletti
ea3168dc6c
Fixed #24376 -- added verbose_name arg to UUIDField
2015-02-21 13:27:49 -05:00
Don Kirkby
99a1bbf985
Fixed typo in django/db/models/fields/files.py comment.
2015-02-20 20:11:13 -05:00
foresmac
1d1d5d1c31
Fixed #24341 -- Added specific error messages to RangeField subclasses
2015-02-20 16:49:15 -05:00
Simon Charette
19f7278c86
Removed reference to iteration count in the PBKDF2 hasher docstring.
2015-02-20 16:37:29 -05:00
Aymeric Augustin
51b606f75d
Removed a non-obvious side-effect of assigning Context.template.
...
Explicit is better than implicit.
2015-02-20 22:27:48 +01:00
Frank Wiles
e43f99d1a9
Fixed PBKDF2PasswordHasher comments to reflect reality.
2015-02-20 16:00:51 -05:00
Anssi Kääriäinen
bad5f262bf
Fixed #24328 -- cleaned up Options._get_fields() implementation
2015-02-20 13:00:12 -05:00
Loic Bistuer
bed504d70b
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.
2015-02-20 21:34:09 +07:00
Marc Tamlyn
c490e410af
Fixed #24373 -- Added run_validators to ArrayField.
...
Thanks to DavidMuller for the report.
2015-02-20 11:51:46 +00:00
Marc Tamlyn
32d4db66b9
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.
2015-02-20 11:35:52 +00:00
Marc Tamlyn
4755f8fc25
Fixed #24343 -- Ensure db converters are used for foreign keys.
...
Joint effort between myself, Josh, Anssi and Shai.
2015-02-20 11:35:51 +00:00
Alex Vidal
e467919c63
Fixed typo in django.core.servers.basehttp message.
2015-02-19 19:31:49 -05:00
Aymeric Augustin
1bfcc950ab
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.
2015-02-19 22:08:11 +01:00
Claude Paroz
efb1f99f94
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.
2015-02-19 20:18:31 +01:00
Shai Berger
ceadc94f09
Fixed #24307 : Avoided redundant column nullability modifications on Oracle
...
Thanks Joris Benschop for the report, and Tim Graham for the tests.
2015-02-19 02:39:41 +02:00
Marten Kenbeek
15dc8d1c9d
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.
2015-02-18 19:05:10 +01:00
Adam Chainz
e9282747a4
Removed unused foreign_key_re variables in MySQL/Oracle DB backends
2015-02-18 10:22:30 -05:00
Tim Graham
098fa12dd3
Refs #24324 -- Fixed crash in {% debug %} tag on Python 2.
...
If Django is installed in a path that contains non-ASCII characters,
the tag failed with UnicodeDecodeError.
2015-02-18 07:24:13 -05:00
Tim Graham
fa66ea7532
Refs #24324 -- Fixed UnicodeDecodeError in MigrationWriter on Python 2.
2015-02-17 18:48:15 -05:00
Tim Graham
bebc1e53a3
Refs #24324 -- Fixed UnicodeDecodeError in template_backends tests
...
The message for the SuspiciousFileOperation exception needs to
be a unicode string.
2015-02-17 18:44:31 -05:00
Tim Graham
bad6280c4e
Refs #24324 -- Fixed get_app_template_dirs() UnicodeDecodeError on Python 2.
...
The function implemented most of upath(), but skipped the check for
strings that are already unicode.
2015-02-17 08:19:58 -05:00
Tim Graham
c9ece2e6b9
Refs #24324 -- Fixed UnicodeDecodeError in makemigrations.
...
If the project path contained a non-ASCII character, Python 2 crashed.
2015-02-17 08:12:49 -05:00
Tim Graham
63c5c98701
Refs #24324 -- Fixed UnicodeEncodeError in SQLite backend while testing.
...
If 'name' contained non-ASCII characters, the comparison raised a
UnicodeEncodeError on Python 2.
2015-02-17 08:09:46 -05:00
Tim Graham
81a94cc616
Refs #24324 -- Fixed makemessages crash when Django is installed in a non-ASCII path.
2015-02-17 08:06:33 -05:00
Tim Graham
4a0aeac1b5
Refs #24324 -- Fixed management command discovery on non-ASCII paths.
2015-02-17 07:27:47 -05:00
Tim Graham
3adc5f1ee6
Fixed #24335 -- Bumped required psycopg2 version to 2.4.5 (2.5 for contrib.postgres).
2015-02-16 18:07:27 -05:00
Tim Graham
664c038f2c
Moved contrib.contenttypes tests out of contrib.
2015-02-16 17:45:38 -05:00
Tim Graham
4538cbf17d
Fixed #24299 -- Added an auth migration to ensure contenttypes is migrated.
...
Without this migration, the auth signal handlers will fail if migrating
only auth.
2015-02-16 14:52:30 -05:00
Sergey Fedoseev
d392c1e150
Refs #24299 -- Made contenttypes migrations signal handler more robust.
2015-02-16 13:36:53 -05:00
Markus Holtermann
b29f3b5120
Fixed #24225 , #24264 , #24282 -- Rewrote model reloading in migration project state
...
Instead of naively reloading only directly related models (FK, O2O, M2M
relationship) the project state needs to reload their relations as well
as the model changes as well. Furthermore inheriting models (and super
models) need to be reloaded in order to keep inherited fields in sync.
To prevent endless recursive calls an iterative approach is taken.
2015-02-16 19:31:51 +01:00
Preston Timmons
ad9ecc2c20
Removed unnecessary __init__ definition from DebugLexer.
2015-02-16 19:00:02 +01:00
Markus Holtermann
4dd1f4c5eb
Explicitly checked for LookupError in contenttypes migration
2015-02-16 17:08:19 +01:00
Loic Bistuer
5efd472178
Reworked docstrings and comments in related.py.
...
Thanks Tim Graham for the review.
2015-02-16 20:40:04 +07:00
Loic Bistuer
c5a77721e2
Merged ManyRelatedObjectsDescriptor and ReverseManyRelatedObjectsDescriptor
...
and made all "many" related objects descriptors inherit from
ForeignRelatedObjectsDescriptor.
2015-02-16 20:40:04 +07:00
Aymeric Augustin
15b711b5ee
Deprecated TEMPLATE_DEBUG setting.
2015-02-15 20:47:04 +01:00
Michael Angeletti
49647bec6e
Added missing return value to DurationField.prepare_value(); refs #24339 .
2015-02-14 18:38:50 -05:00
Aymeric Augustin
a73c8540a8
Removed 'autocommit' options for the psycopg2 backend.
...
It was documented as not having any effect since Django 1.6.
2015-02-14 18:51:18 +01:00
Aymeric Augustin
28e97a9bdc
Cleaned up init_connection_state in the psycopg2 backend.
...
settings_dict['TIME_ZONE'] is set in ConnectionHandler.ensure_defaults.
2015-02-14 18:51:18 +01:00
Aymeric Augustin
76356d963c
Fixed #24318 -- Set the transaction isolation level with psycopg >= 2.4.2.
2015-02-14 18:51:11 +01:00
Michael Angeletti
8a21d25033
Fixed #24339 -- Fixed crash with empty DurationField form field.
2015-02-14 07:37:18 -05:00
Claude Paroz
1791a7e75a
Fixed #15779 -- Allowed 'add' primary key in admin edition
...
Thanks Marwan Alsabbagh for the report, and Simon Charette and
Tim Graham for the reviews.
2015-02-14 11:19:55 +01:00
Aymeric Augustin
47ee7b48ad
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.
2015-02-14 10:21:06 +01:00
Loic Bistuer
18c0aaa912
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.
2015-02-14 02:28:24 +07:00
Andriy Sokolovskiy
5c995dcfc2
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.
2015-02-13 12:37:23 -05:00
Tim Graham
002425fe39
Fixed #24315 -- Fixed auth.views.password_reset_confirm() with a UUID user.
2015-02-13 09:56:31 -05:00
Tim Graham
fdf20093e0
Fixed #24334 -- Allowed admin password reset to work with non-digit custom user model primary key.
...
Thanks Loic for help and Simon for review.
2015-02-13 09:42:49 -05:00
Markus Holtermann
f287bec583
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.
2015-02-13 14:29:59 +01:00
Loic Bistuer
00a889167f
Fixed #24295 -- Allowed ModelForm meta to specify form field classes.
...
Thanks Carl Meyer and Markus Holtermann for the reviews.
2015-02-13 19:13:05 +07:00
Tim Graham
e8cf4f8abe
Fixed #24332 -- Fixed contrib.sites create_default_site() when 'default' DATABASES is empty.
2015-02-13 07:01:28 -05:00
Josh Smeaton
de0241eb98
Fixed #24319 -- Added validation for UUID model field
2015-02-13 09:45:53 +11:00
Tim Graham
d64baaef3b
Fixed #24333 -- Fixed admin history view crash with non-integer slug.
2015-02-12 14:19:44 -05:00
Simon Charette
9239f1dda7
Refs #24215 -- Prevented pending lookup pollution by abstract models.
2015-02-12 13:07:09 -05:00
Tim Graham
27eeb64a96
Fixed #17716 -- Prevented include('...', app_name='...') without a namespace.
2015-02-12 08:07:58 -05:00
Nik Nyby
34ccb3cc03
Subclassed template.Node instead of Node for consistency.
2015-02-12 08:04:30 -05:00
Tim Graham
0f7f5bc9e7
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.
2015-02-12 07:38:16 -05:00
Lukas Klein
93b3ef9b2e
Fixed #24321 -- Improved `utils.http.same_origin` compliance with RFC6454
2015-02-12 08:58:35 +01:00
Josh Smeaton
e2d6e14662
Refs #14030 -- Improved expression support for python values
2015-02-12 08:46:25 +11:00
Collin Anderson
07cfe1bd82
Refs #14497 -- Handled empty readonly admin FileFields
2015-02-11 13:00:56 -05:00
Tim Graham
8ec306a3a9
Moved contrib.webdesign tests out of contrib.
2015-02-11 12:30:07 -05:00
Tim Graham
ad0be620ae
Moved contrib.gis tests out of contrib.
2015-02-11 10:29:54 -05:00
Tim Graham
5ab327a389
Moved non-documented auth test models to the new test location.
2015-02-11 10:29:48 -05:00
Tim Graham
2d7aca3da0
Moved contrib.auth tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
8192a164de
Moved contrib.humanize tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
00da46091a
Moved contrib.redirects tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
b3cd9e0d07
Moved contrib.messages tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
fac3a34cbb
Moved contrib.sessions tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
fbc467c26b
Moved contrib.sitemaps tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
d8341bf024
Moved contrib.sites tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
d3a725054f
Moved contrib.flatpages tests out of contrib.
2015-02-11 10:19:22 -05:00
Tim Graham
197dd4b8f1
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.
2015-02-11 10:14:38 -05:00
Daniel Pyrathon
19188826b4
Fixed #24146 -- Allowed model._meta.get_field() to be used after apps.models_ready
2015-02-10 19:55:06 -05:00
Josh Smeaton
1fbe8a2de3
Fixed #24200 -- Made introspection bypass statement cache
2015-02-10 23:24:34 +02:00
Aymeric Augustin
1b8af4cfa0
Disallowed importing concrete models without an application.
...
Removed fragile algorithm to find which application a model belongs to.
Fixed #21680 , #21719 . Refs #21794 .
2015-02-10 21:41:19 +01:00
Aymeric Augustin
c7a6996df7
Fixed a crash of the debug page.
...
During the autumn DST change, the template engine would fail to convert
the naive representation of now when USE_TZ = True. Passing now in UTC
eliminates the issue.
Thanks mbertheau and tricoder42.
Refs #23714 .
2015-02-10 21:37:53 +01:00
Loic Bistuer
c8e24bbc9b
Fixed isort import that's inconsistent between platforms.
2015-02-11 02:24:14 +07:00
Aymeric Augustin
f2c104ada6
Split DTL context creation into its own function.
...
This reduces the length of rope RequestContext gives users to hang
themselves with.
Thanks Alex Hill for the report and Tim Graham for the review.
2015-02-10 14:34:05 +01:00
Tim Graham
c970018f41
Removed Django 1.7 MIDDLEWARE_CLASSES upgrade check.
2015-02-09 19:16:07 -05:00
Tim Graham
2ee9bce654
Removed some obsolete absolute_imports.
2015-02-09 13:37:23 -05:00
Claude Paroz
50aa1a790c
Replaced some more hardcoded admin URLs
2015-02-09 17:29:53 +01:00
Tim Graham
2d7c27d387
Fixed #24302 -- Added DurationField.formfield()
2015-02-09 10:20:01 -05:00
Daniel Wiesmann
32ed4c202f
Moved numpy import helper to shortcuts
...
Numpy will be used in both the geos and gdal modules,
so the import should sit in the parent module gis.
2015-02-09 15:51:19 +01:00
Tim Graham
e144e0e237
Removed unnecessary parentheses in model check messages.
2015-02-09 08:53:58 -05:00
Aron Podrigal
4d73303ee9
Fixed #24249 -- Improved field shadowing validation in model multi-inheritance.
2015-02-09 08:37:55 -05:00
я котик пур-пур
981bd64dfb
Unified local imports in django.db.backends.mysql.
2015-02-09 08:23:17 -05:00
Tim Graham
1256274750
Removed stray comment in auth.views.
2015-02-09 07:50:47 -05:00
Alex Gaynor
8099d33b65
Simplified the lazy CSRF token implementation in csrf context processor.
...
This significantly improves performance on PyPy. The previous
implementation would generate a new class on every single request,
which is relatively slow.
2015-02-08 15:02:43 -05:00
Alex Gaynor
82e0cd1571
Optimized allow_lazy() by not generating a new lazy wrapper on each invocation.
...
This dramatically improves performance on PyPy. The following benchmark:
python -mtimeit -s "from django.utils.functional import allow_lazy; from django.utils.translation import ugettext_lazy; f = allow_lazy(lambda s: s, str)" "f(ugettext_lazy('abc'))"
goes from 390us per loop to 165us.
2015-02-08 14:56:57 -05:00
Claude Paroz
32e6a7d3a5
Replaced hardcoded URLs in admin_* tests
...
Refs #15779 . This will allow easier admin URL changes, when needed.
Thanks Simon Charette for the review.
2015-02-08 20:55:09 +01:00
Tim Graham
9033003d97
Added check_apps_ready() to Apps.get_containing_app_config()
2015-02-08 14:52:19 -05:00
Varun Sharma
540ca563de
Fixed #24181 -- Fixed multi-char THOUSAND_SEPARATOR insertion
...
Report and original patch by Kay Cha.
2015-02-08 20:00:57 +01:00
Markus Holtermann
2832a9b028
Revert "Fixed #24075 -- Prevented running post_migrate signals when unapplying initial migrations of contenttypes and auth"
...
This reverts commit 737d24923a
.
2015-02-07 20:14:49 +01:00
Markus Holtermann
bd3d796ecd
Revert "Refs #24075 -- Silenced needless call_command output while running tests"
...
This reverts commit 51dc617b21
.
2015-02-07 19:22:31 +01:00
Collin Anderson
db77915c9f
Fixed E265 comment style
2015-02-06 09:30:35 -05:00
Tim Graham
eb45a29565
Removed bin/unique-messages.py
...
This script is no longer used according to Claude, our translations manager.
2015-02-06 08:47:38 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00