Markus Holtermann
c5cc332bf2
Fixed #24550 -- Added migration operation description to sqlmigrate output
...
Thanks Tim Graham for the review.
2015-03-30 16:31:20 +02:00
Simon Charette
dc27f3ee0c
Fixed #19259 -- Added group by selected primary keys support.
2015-03-29 22:03:30 -04:00
Marten Kenbeek
75430be86f
Refs #24366 -- Fixed recursion depth error in migration graph
...
Made MigrationGraph forwards_plan() and backwards_plan() fall back to an
iterative approach in case the recursive approach exceeds the recursion
depth limit.
2015-03-29 16:08:07 +02:00
Marten Kenbeek
bc83add04c
Refs #24366 -- Renamed arguments in MigrationGraph, renamed tests
2015-03-29 16:07:58 +02:00
Markus Holtermann
c7ec3c07e7
Fixed #24537 -- Ignored field order in RenameModel detection
...
Thanks to David Sanders for the report and test and Simon Charette for
the review.
2015-03-28 20:45:15 +01:00
Marco Fucci
4ee08958f1
Fixed #24505 -- Fixed clash with hidden m2m fields.
...
Added support for multiple m2m fields with the same 'to' model
and with related_name set to '+'.
2015-03-26 19:00:37 -04:00
Andrei Kulakov
e2bfcab065
Fixed #24394 -- Allowed running tests with empty default dictionary.
2015-03-25 17:56:59 -04:00
Alex Hill
7a75ed1a4f
Removed untouched branch in StateApps.__init__()
2015-03-25 16:48:26 -04:00
Alex Hill
720ff740e7
Fixed #24215 -- Refactored lazy model operations
...
This adds a new method, Apps.lazy_model_operation(), and a helper function,
lazy_related_operation(), which together supersede add_lazy_relation() and
make lazy model operations the responsibility of the App registry. This
system no longer uses the class_prepared signal.
2015-03-25 16:48:17 -04:00
Anssi Kääriäinen
8f30556329
Renamed Field.rel attribute to remote_field
...
Field.rel is now deprecated. Rel objects have now also remote_field
attribute. This means that self == self.remote_field.remote_field.
In addition, made the Rel objects a bit more like Field objects. Still,
marked ManyToManyFields as null=True.
2015-03-25 08:16:12 -04:00
Anssi Kääriäinen
f9c70bb3a1
Renamed ForeignObject.related_field to target_field
2015-03-25 08:13:27 -04:00
Anssi Kääriäinen
d43aa28f67
Removed field.field check in setup_joins()
2015-03-25 08:11:27 -04:00
Anssi Kääriäinen
b68212f539
Refs #24267 -- Implemented lookups for related fields
...
Previously related fields didn't implement get_lookup, instead
related fields were treated specially. This commit removed some of
the special handling. In particular, related fields return Lookup
instances now, too.
Other notable changes in this commit is removal of support for
annotations in names_to_path().
2015-03-25 08:05:22 -04:00
David Szotten
80e3444eca
Fixed #24483 -- Prevented keepdb from breaking with generator choices.
...
If Field.choices is provided as an iterator, consume it in __init__ instead
of using itertools.tee (which ends up holding everything in memory
anyway). Fixes a bug where deconstruct() was consuming the iterator but
bypassing the call to `tee`.
2015-03-24 11:42:53 -04:00
Tim Graham
13bc311cdb
Removed getLogger alias in django.utils.log.
2015-03-24 08:41:05 -04:00
Claude Paroz
01ec127bae
Fixed #12400 -- Allowed geometry fields in unique_together
...
Thanks Tim Graham for the review.
2015-03-23 19:52:49 +01:00
Baptiste Mispelon
1aadade373
Fixed #24521 -- Added support for serializing frozensets in migrations.
2015-03-23 15:38:25 +01:00
Michael Blatherwick
00e667728b
Fixed #23697 -- Improved ForeignObject.get_lookup_constraint() error message.
2015-03-23 10:31:57 -04:00
Josh Smeaton
02a2943e4c
Fixed #24485 -- Allowed combined expressions to set output_field
2015-03-22 17:36:55 +11:00
Josh Smeaton
127b3873d0
Fixed #24508 -- Made annotations commutative
2015-03-22 17:28:42 +11:00
Jon Dufresne
966a29c2b8
Fixed #24479 -- Added system check to prevent both ordering and order_wrt.
2015-03-21 08:16:28 -04:00
Jon Dufresne
e304e13448
Removed double pop from meta_attrs.
2015-03-21 08:16:28 -04:00
Alex Hill
880393a902
Explicitly disable FK constraints in SQLite editor
2015-03-21 10:31:07 +01:00
Alex Hill
6c58e53d5d
Safer table alterations under SQLite
...
Table alterations in SQLite require creating a new table and copying
data over from the old one. This change ensures that no Django model
ever exists with the temporary table name as its db_table attribute.
2015-03-21 10:31:07 +01:00
Karl Hobley
81e1a35c36
Fixed #24495 -- Allowed unsaved model instance assignment check to be bypassed.
2015-03-18 19:00:09 -04:00
Tim Graham
71c638fc55
Fixed typo in refs #15579 comment.
2015-03-17 09:08:02 -04:00
Josh Smeaton
88d798d71a
Refs #24485 -- Renamed some expression types
2015-03-17 08:40:18 -04:00
Josh Smeaton
ff2aa40192
Fixed #24486 -- Fixed error with datetime and DurationField arithmetic
2015-03-17 08:35:49 -04:00
Andriy Sokolovskiy
81c2d9f60b
Fixed #15579 -- Added ability to delete only child models in multi-table inheritance.
2015-03-17 08:33:16 -04:00
Anssi Kääriäinen
fb146193c4
Fixed #24171 -- Fixed failure with complex aggregate query and expressions
...
The query used a construct of qs.annotate().values().aggregate() where
the first annotate used an F-object reference and the values() and
aggregate() calls referenced that F-object.
Also made sure the inner query's select clause is as simple as possible,
and made sure .values().distinct().aggreate() works correctly.
2015-03-09 07:49:23 -04:00
Marten Kenbeek
e272904ff7
Fixed #23407 -- Extended coverage of makemigrations --noinput option.
...
Changed --noinput option in makemigrations to suppress all user prompts,
not just when combined with --merge.
2015-03-08 19:44:14 +01:00
Marten Kenbeek
888c9b6429
Fixed #24397 -- Sped up rendering multiple model states.
...
Set apps.ready to False when rendering multiple models. This prevents
that the cache on Model._meta is expired on all models after each time a
single model is rendered. Prevented that Apps.clear_cache() refills the
cache on Apps.get_models(), so that the wrong value cannot be cached
when cloning a StateApps.
2015-03-08 13:54:49 +01:00
Jean-Louis Fuchs
f4f0060fea
Fixed #24447 -- Made migrations add FK constraints for existing columns
...
When altering from e.g. an IntegerField to a ForeignKey, Django didn't
add a constraint.
2015-03-07 14:09:56 +01:00
Josh Smeaton
ceaf31adff
Fixed #24420 -- Allowed ordering by case expressions
2015-03-06 13:30:02 +11:00
Markus Holtermann
a9e29fae10
Fixed #24435 -- Prevented m2m field removal and addition in migrations when changing blank
...
Thanks Mark Tranchant for the report an Tim Graham for the test and
review.
2015-03-04 14:26:49 +01:00
Tim Graham
4e8b167e4d
Fixed MySQL build failure introduced by refs #24390 .
...
Added table_name back to _create_index_sql() to prevent
duplicate index names on MySQL.
2015-03-02 13:07:34 -05:00
László Károlyi
f37c11eea3
Fixed #24390 -- Made migration index names deterministic.
2015-03-02 09:25:19 -05:00
Claude Paroz
5cf96b49e4
Fixed #24418 -- Prevented crash in refresh_from_db with null fk
...
Thanks Johannes Lerch for the report, Tim Graham for the test case,
and Simon Charette for the review.
2015-02-27 20:23:07 +01:00
Aymeric Augustin
b9c619abc1
Prevented makemigrations from writing in sys.path[0].
...
There's no reason to assume that sys.path[0] is an appropriate location
for generating code. Specifically that doesn't work with extend_sys_path
which puts the additional directories at the end of sys.path.
In order to create a new migrations module, instead of using an
arbitrary entry from sys.path, import as much as possible from the path
to the module, then create missing submodules from there.
Without this change, the tests introduced in the following commit fail,
which seems sufficient to prevent regressions for such a refactoring.
2015-02-23 19:55:10 +01:00
Anssi Kääriäinen
f95122e541
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.
2015-02-23 07:24:43 -05:00
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
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
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
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
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
fa66ea7532
Refs #24324 -- Fixed UnicodeDecodeError in MigrationWriter on Python 2.
2015-02-17 18:48:15 -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
3adc5f1ee6
Fixed #24335 -- Bumped required psycopg2 version to 2.4.5 (2.5 for contrib.postgres).
2015-02-16 18:07:27 -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
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
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
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
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
Josh Smeaton
de0241eb98
Fixed #24319 -- Added validation for UUID model field
2015-02-13 09:45:53 +11:00
Simon Charette
9239f1dda7
Refs #24215 -- Prevented pending lookup pollution by abstract models.
2015-02-12 13:07:09 -05:00
Josh Smeaton
e2d6e14662
Refs #14030 -- Improved expression support for python values
2015-02-12 08:46:25 +11: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
Loic Bistuer
c8e24bbc9b
Fixed isort import that's inconsistent between platforms.
2015-02-11 02:24:14 +07:00
Tim Graham
2d7c27d387
Fixed #24302 -- Added DurationField.formfield()
2015-02-09 10:20:01 -05: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
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
Collin Anderson
db77915c9f
Fixed E265 comment style
2015-02-06 09:30:35 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Tim Graham
0f54cf28c0
Added UUIDField.deconstruct()
2015-02-05 19:15:02 -05:00
Loic Bistuer
20eb51ce0d
Fix small regression caused by 71ada3a8e6
.
...
During direct assignment, evaluating the iterable before the transaction
is started avoids leaving the transaction dirty if an exception is raised.
This is slightly more wasteful but probably not enough to warrant a change
of behavior.
Thanks Anssi for the feedback. Refs #6707 .
2015-02-05 16:59:56 +07:00
Loic Bistuer
71ada3a8e6
Fixed #6707 -- Added RelatedManager.set() and made descriptors' __set__ use it.
...
Thanks Anssi Kääriäinen, Carl Meyer, Collin Anderson, and Tim Graham for the reviews.
2015-02-05 12:45:08 +07:00
Anssi Kääriäinen
4d3470e52e
Removed non-used EmptyShortCircuit
2015-02-04 09:26:40 -05:00
Anssi Kääriäinen
7145c8a62a
Removed EverythingNode
...
At the same time, made sure that empty nodes in where clause match
everything.
2015-02-04 09:26:40 -05:00
Anssi Kääriäinen
afe0bb7b13
Fixed #24268 -- removed Query.having
...
Instead of splitting filter clauses to where and having parts before
adding them to query.where or query.having, add all filter clauses to
query.where, and when compiling the query split the where to having and
where parts.
2015-02-04 09:26:40 -05:00
Aron Podrigal
79f27f2b61
Fixed #15321 -- Honored ancestors unique checks.
...
Thanks to Tim for the review.
2015-02-03 18:56:53 -05:00
Simon Charette
65e005f8cd
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.
2015-02-03 16:40:31 -05:00
Tim Graham
0e489c19f1
Reverted "Fixed #24146 -- Fixed a missing fields regression in admin checks."
...
This reverts commit e8171daf0c
.
A new solution is forthcoming.
2015-02-03 15:23:39 -05:00
Anssi Kääriäinen
8adc59038c
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.
2015-02-03 09:23:44 -05:00
Tim Graham
f79ce63fdb
Removed query.alias_diff()
...
This function is unused since 6fe2b001db
2015-02-01 21:37:25 -05:00
Tim Graham
99ca7c2bd3
Removed Query.raise_field_error()
...
This method was inadvertently reintroduced in
f59fd15c49
2015-02-01 20:26:04 -05:00
Tim Graham
75303b01a9
Fixed #24245 -- Added introspection for database defaults.
...
Needed for tests for migrations handling of database defaults.
2015-01-31 12:33:11 -05:00
Tim Graham
64a899dc81
Removed PostgreSQL DatabaseWrapper._set_isolation_level().
...
This method is unused since 8717b0668c
.
2015-01-31 11:05:26 -05:00
Claude Paroz
a0b5f15ea5
Fixed #14483 -- Allowed using subqueries with GIS lookups
2015-01-30 20:27:18 +01:00
Tim Graham
293fd5da5b
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.
2015-01-30 12:51:12 -05:00
Loic Bistuer
4c3bfe9053
Fixed #24211 -- Removed ValuesQuerySet() and ValuesListQuerySet().
...
Thanks Anssi Kääriäinen, Marc Tamlyn, and Tim Graham for the reviews.
2015-01-30 22:02:58 +07:00
Tim Graham
29c0073335
Fixed #24164 -- Fixed Oracle GIS limited aggregation test failure.
2015-01-30 06:28:47 -05:00
Simon Charette
eb4cdfbdd6
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.
2015-01-29 14:40:20 -05:00
Tim Graham
f609731118
Removed ForeignObjectRel.get_lookup_constraint() [unused].
2015-01-29 13:31:12 -05:00
Tim Graham
18f3e79b13
Removed threading fallback imports.
...
Django imports threading in many other places without fallback.
2015-01-28 10:23:25 -05:00
Josh Smeaton
14d0bd67d4
Refs #14030 -- Renamed CombinableMixin to Combinable
...
Removed unused method and updated docstrings.
2015-01-28 10:59:30 +11:00
Josh Smeaton
7171bf755b
Refs #14030 -- Added repr methods to all expressions
2015-01-28 10:59:30 +11:00
Loic Bistuer
84b6c76830
Fixed #24210 -- Cleaned up relational fields __init__().
...
Thanks Collin Anderson and Tim Graham for the reviews.
2015-01-27 22:35:49 +07:00
Josh Smeaton
8196e4bdf4
Fixed #24154 -- Backends can now check support for expressions
2015-01-27 12:20:06 +11:00
Andriy Sokolovskiy
38c17871bb
Fixed #24104 -- Fixed check to look on field.many_to_many instead of class instance
2015-01-22 18:41:19 +01:00
Loic Bistuer
d450af8a26
Fixed small inconsistency when handling aggregate's default_alias.
...
Refs #14030 .
2015-01-22 00:44:14 +07:00
Adam Taylor
039465a6a7
Fixed typos in code comments.
2015-01-20 12:18:03 -05:00
Tim Graham
be1357e709
Fixed a query failure on Python 3.5; refs #23763 .
...
The failure was introduced in Django by
c7fd9b242d
and the change in
Python 3.5 is https://hg.python.org/cpython/rev/a3c345ba3563 .
2015-01-20 08:13:53 -05:00
Josh Smeaton
61c102d010
Fixed #24183 -- Fixed wrong comparisons in Substr
2015-01-20 12:09:15 +11:00
Markus Holtermann
7f20041bca
Fixed #24155 -- Maintained kwargs and import order in migration writer
...
Thanks Tomas Dobrovolny for the report and Tim Graham for the review.
2015-01-20 01:24:41 +01:00
Tim Graham
378a0d27d6
Advanced deprecation warnings for Django 1.9.
2015-01-19 12:22:41 -05:00
Tim Graham
33457cd3b0
Removed IPAddressField per deprecation timeline; refs #20439 .
2015-01-19 11:12:57 -05:00
Tim Graham
5008a4db44
Removed legacy ORM lookup support per deprecation timeline; refs #16187 .
2015-01-19 11:11:30 -05:00
Markus Holtermann
5792e6a88c
Fixed #24163 -- Removed unique constraint after index on MySQL
...
Thanks Łukasz Harasimowicz for the report.
2015-01-19 16:52:26 +01:00
Josh Smeaton
69c6a6868f
Fixed #24174 -- Fixed extra order by descending
2015-01-19 12:51:27 +11:00
Tim Graham
2b039d966f
Removed obsolete SQL generation methods.
2015-01-18 15:58:06 -05:00
Tim Graham
7e8cf74dc7
Removed support for syncing apps without migrations per deprecation timeline.
...
Kept support for creating models without migrations when running tests
(especially for Django's test suite).
2015-01-18 15:58:06 -05:00
Tim Graham
2cd00424c4
Removed support for callable QuerySet arguments per deprecation timeline; refs #11629 .
2015-01-18 14:01:25 -05:00
Tim Graham
3b570dbcdb
Removed BaseDatabaseValidation.validate_field() per deprecation timeline.
2015-01-17 14:58:09 -05:00
Tim Graham
e1b93dbbef
Removed deprecated aliases in django.db.models.
2015-01-17 14:57:34 -05:00
Tim Graham
b845951fd4
Required sqlparse for SQL splitting per deprecation timeline.
2015-01-17 10:20:30 -05:00
Tim Graham
4aa089a9a9
Removed support for custom SQL per deprecation timeline.
2015-01-17 10:16:06 -05:00
Tim Graham
f635d75935
Removed support for old-style test database settings per deprecation timeline.
2015-01-17 09:55:18 -05:00
Tim Graham
f6463bb380
Removed the syncdb command per deprecation timeline.
2015-01-17 09:20:12 -05:00
Tim Graham
f4f24d30e0
Removed pre_syncdb and post_syncdb signals per deprecation timeline.
2015-01-17 09:07:00 -05:00
Tim Graham
4e65f195e1
Removed django.db.models.loading per deprecation timeline.
2015-01-17 08:40:59 -05:00
Tim Graham
9ce36512fa
Removed backwards compatibility shims for "util" modules per deprecation timeline.
...
refs #17627 .
2015-01-17 07:40:12 -05:00
Tim Graham
d79a30ba3f
Removed fallback suport for allow_syncdb() in database routers per deprecation timeline.
2015-01-17 07:39:46 -05: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
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
Simon Charette
47bdad4e6b
Replaced inner functions by class methods.
...
refs #24031
Thanks to Tim Graham and Michał Modzelewski for the review.
2015-01-15 13:03:34 -05:00
Claude Paroz
67bcae1e58
Moved check_aggregate_support to BaseSpatialOperations
2015-01-14 22:03:41 +01: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
Markus Holtermann
737d24923a
Fixed #24075 -- Prevented running post_migrate signals when unapplying initial migrations of contenttypes and auth
...
Thanks Florian Apolloner for the report and Claude Paroz and Tim Graham for the review and help on the patch.
2015-01-14 19:59:39 +01: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
Michał Modzelewski
65246de7b1
Fixed #24031 -- Added CASE expressions to the ORM.
2015-01-12 18:15:34 -05:00
Shai Berger
aa8ee6a573
Fixed test failures in Oracle introspection
...
Refs #17785
2015-01-13 01:00:09 +02:00
Josh Smeaton
21b858cb67
Fixed #24060 -- Added OrderBy Expressions
2015-01-13 09:39:55 +11: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
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
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
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
Markus Holtermann
be158e3625
Refs #24110 -- Added a more descriptive release note and fixed a spelling mistake.
2015-01-11 00:30:47 +01:00
Markus Holtermann
fdc2cc9487
Fixed #24110 -- Rewrote migration unapply to preserve intermediate states
2015-01-10 23:14:15 +01:00
Marc Tamlyn
916e38802f
Move % addition to lookups, refactor postgres lookups.
...
These refactorings making overriding some text based lookup names on
other fields (specifically `contains`) much cleaner. It also removes a
bunch of duplication in the contrib.postgres lookups.
2015-01-10 16:18:19 +00:00
Claude Paroz
7289d01973
Introspected alternate SQLite FK definitions
2015-01-10 16:51:14 +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
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
Claude Paroz
de4bfb3fad
Simplified verbose_name_raw property
2015-01-08 15:08:26 +01: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
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
Markus Holtermann
12bf42ae0d
Refs #22608 -- Optimized migration optimizer
...
Moved list constants instantiation into optimizer's __init__.
2015-01-07 08:54:46 -05:00
Ulrich Petri
391bb09bb0
Refs #22608 -- Optimized migration optimizer and migrate by caching calls to str.lower()
2015-01-07 08:54:46 -05: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
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
Markus Holtermann
05f702b94c
Renamed flag for detecting managers built from QuerySets with as_manager().
2015-01-05 10:30:15 -05:00
Daniel Pyrathon
8958170755
Fixed #9104 -- Moved FieldDoesNotExist to core.exceptions
2015-01-02 10:46:04 -05:00
Claude Paroz
1aa3e09c20
Fixed #23745 -- Reused states as much as possible in migrations
...
Thanks Tim Graham and Markus Holtermann for the reviews.
2015-01-02 15:37:10 +01:00
Claude Paroz
2a9c4b4901
Passed around the state between migrations
...
Refs #23745 .
2015-01-02 15:37:10 +01:00
Markus Holtermann
057305e588
Added ignore_swappable to StateApps
...
Refs #23745 .
2015-01-02 15:37:09 +01:00
Claude Paroz
a159b1facd
Replaced migration state render() by apps cached property
...
Refs #23745 .
2015-01-02 15:19:36 +01:00
Tim Graham
40a8504357
Fixed #23891 -- Moved deprecation of IPAddressField to system check framework.
...
Thanks Markus Holtermann for review.
2015-01-01 13:30:52 -05:00
Piotr Pawlaczek
41fc1c0b5e
Fixed #23758 -- Allowed more than 5 levels of subqueries
...
Refactored bump_prefix() to avoid infinite loop and allow more than
than 5 subquires by extending the alphabet to use multi-letters.
2014-12-31 08:48:28 -05:00
Tim Graham
478d6a9503
Copied BaseDatabaseCreation._digest() to SchemaEditor to remove dependency.
...
refs #22340 .
2014-12-31 08:33:34 -05:00
Tim Graham
93d73dac91
Moved DatabaseCreation.data_types properties to DatabaseWrapper.
...
refs #22340 .
2014-12-31 08:29:17 -05:00
Russell Keith-Magee
013c2d8d02
Renamed variables to avoid name collision with import of django.db.models.
2014-12-31 13:21:32 +08:00
Tim Graham
8082c75d18
Removed db.backends methods which only call super().
2014-12-30 11:53:59 -05:00
Andriy Sokolovskiy
8c99b7920e
Fixed #12118 -- Added shared cache support to SQLite in-memory testing.
2014-12-30 10:14:33 -05:00
Tim Graham
ab4f709da4
Fixed #23581 -- Prevented extraneous DROP DEFAULT statements.
...
Thanks john_scott for the report and Markus Holtermann for review.
2014-12-30 07:54:05 -05:00
Markus Holtermann
623ccdd598
Fixed #23938 -- Added migration support for m2m to concrete fields and vice versa
...
Thanks to Michael D. Hoyle for the report and Tim Graham for the review.
2014-12-29 13:41:12 -05:00
Claude Paroz
3c5d1edb39
Fixed #22279 -- Prevented dummy backend going through DatabaseErrorWrapper
...
Thanks Daniel Hahler for the report and Tim Graham for the review.
2014-12-29 19:06:28 +01:00
Claude Paroz
1d24f073e6
Fixed #21255 -- Closed connections after management command ran
...
Thanks kabakov.as@gmail.com for the report, and Aymeric Augustin,
Simon Charette for the reviews.
2014-12-29 19:02:45 +01:00
Josh Smeaton
1cdfbde4db
Fixed #23753 -- Oracle failure with Coalesce
2014-12-29 19:44:13 +11:00
Claude Paroz
2ceb10f3b0
Fixed #14180 -- Prevented unneeded index creation on MySQL-InnoDB
...
Thanks zimnyx for the report and Simon Charette, Tim Graham for
the reviews.
2014-12-27 12:52:44 +01:00
Josh Smeaton
4718296546
Fixed #23753 -- Added a suite of SQL Functions
...
Added functions and tests
Added docs and more tests
Added TextField converter to mysql backend
Aliased Value as V in example docs and tests
Removed unicode_compatible in example
Fixed console emulation in examples
2014-12-27 15:27:27 +11:00
Claude Paroz
234a2e0b6b
Fixed #23866 -- Harmonized refs to Django documentation from code
2014-12-25 13:53:13 +01:00
Niclas Olofsson
3daa9d60be
Fixed #10414 -- Made select_related() fail on invalid field names.
2014-12-24 14:54:30 -05:00
Tim Graham
061caa5b38
Fixed #24037 -- Prevented data loss possibility when changing Meta.managed.
...
The migrations autodetector now issues AlterModelOptions operations for
Meta.managed changes instead of DeleteModel + CreateModel.
Thanks iambibhas for the report and Simon and Markus for review.
2014-12-23 14:25:31 -05:00
Tim Graham
69ee7c8d76
Removed models.Field.bind() -- unused/undocumented since at least 1.0.
2014-12-23 14:23:58 -05:00
Claude Paroz
30cbd5d360
Replaced DatabaseCreation sql methods by schema editor equivalents
...
Also used schema editor in migrate to sync unmigrated apps (sync_apps).
Refs #22340 . Thanks Tim Graham for the review.
2014-12-23 19:35:01 +01:00
Anssi Kääriäinen
f233bf47dd
Fixed #21414 -- Removed RelatedObject and deprecated Field.related.
2014-12-23 10:54:25 -05:00
Anssi Kääriäinen
227a4c48be
Refs #2443 -- fixed format_dtdelta on SQLite
...
A test failed on Python 2 32-bit.
2014-12-23 07:05:44 -05:00
Marc Tamlyn
962bb9b6bd
Refs #2443 -- Move the durationfield converter logic.
...
This reduces how frequently this logic is run significantly.
Thanks to Anssi for the suggestion.
2014-12-23 10:41:42 +00:00
Marc Tamlyn
5ca82e710e
Fixed #24033 -- Use interval type on Oracle.
...
Use INTERVAL DAY(9) TO SECOND(6) for Durationfield on Oracle rather than
storing as a NUMBER(19) of microseconds.
There are issues with cx_Oracle which require some extra data
manipulation in the database backend when constructing queries, but it
handles the conversion back to timedelta objects cleanly.
Thanks to Shai for the review.
2014-12-23 10:38:32 +00:00
Oscar Ramirez
54085b0f9b
Fixed #23998 -- Added datetime.time support to migrations questioner.
2014-12-22 07:24:54 -05:00
Josh Schneier
9a23470072
Fixed #24017 -- Added python_2_unicode_compatible in db/migrations
2014-12-21 16:10:43 -05:00
Marc Tamlyn
07728a2c2c
Refs #2443 -- Fix Oracle tests for DurationField.
...
It helps if there are the correct number of microseconds in a second.
2014-12-20 22:04:07 +00:00
Marc Tamlyn
57554442fe
Fixed #2443 -- Added DurationField.
...
A field for storing periods of time - modeled in Python by timedelta. It
is stored in the native interval data type on PostgreSQL and as a bigint
of microseconds on other backends.
Also includes significant changes to the internals of time related maths
in expressions, including the removal of DateModifierNode.
Thanks to Tim and Josh in particular for reviews.
2014-12-20 18:28:29 +00:00
Anssi Kääriäinen
4a2a433e7d
Refs #24020 -- return expressions from get_group_by_cols()
2014-12-18 06:01:07 -07:00
Claude Paroz
108b8bf852
Fixed #24007 -- Ensure apps registry's ready before unpickling models
...
This prevents AppRegistryNotReady errors when unpickling Django
models from an external script.
2014-12-17 18:33:32 +01:00
Andriy Sokolovskiy
3dbbb8a89c
Fixed #23983 -- Fixed a crash in migrations when adding order_with_respect_to to non-empty table.
2014-12-16 10:48:49 -05:00
Andriy Sokolovskiy
d8f3b86a76
Fixed #23405 -- Fixed makemigrations prompt when adding Text/CharField.
...
A default is no longer required.
2014-12-15 14:41:52 -05:00
Andriy Sokolovskiy
089047331d
Fixed #23987 -- Made SQLite SchemaEditor always use effective_default().
2014-12-15 13:40:24 -05:00
Markus Holtermann
aa5ef0d4fc
Fixed #23822 -- Added support for serializing model managers in migration
...
Thanks to Shai Berger, Loïc Bistuer, Simon Charette, Andrew Godwin,
Tim Graham, Carl Meyer, and others for their review and input.
2014-12-15 08:34:15 -05:00
Markus Holtermann
e37ab311fc
Changed internal storing of abstract and concrete managers to be in a single list.
...
This commit prepares the internal manager layout to be serialized by
migrations; refs #23822 .
2014-12-15 08:32:47 -05:00