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
Shai Berger
7c1f3901bc
Fixed #23991 -- Apparently, Oracle doesn't need the decimal field converter
...
Thanks Josh Smeaton for review.
2014-12-15 00:07:10 +02:00
Michael Hall
895dc880eb
Fixed #23812 -- Changed django.utils.six.moves.xrange imports to range
2014-12-13 12:45:58 -05:00
Carl Meyer
c72eb80d11
Fixed #23455 -- Accept either bytes or text for related_name, convert to text.
2014-12-12 12:50:39 -07:00
Carl Meyer
8aaf51f94c
Revert "Fixed #23455 -- Forced related_name to be a unicode string during deconstruction."
...
This reverts commit 45bd7b3bd9
.
2014-12-12 12:50:39 -07:00
Claude Paroz
df30ae07fc
Fixed postgis test database initialization
...
Refs #20968 . Allow querying template_postgis presence without
existing test database.
Thanks Tim Graham for the review.
2014-12-12 20:08:07 +01:00
Josh Smeaton
267a1dcd9b
Fixed #23941 -- Removed implicit decimal formatting from expressions.
2014-12-12 10:17:48 -05:00
Markus Holtermann
44927ba817
Fixed #23956 -- Fixed migration creation for multiple table inheritance
2014-12-11 13:28:21 -05:00
Marc Tamlyn
6b2d3f9206
Remove text-mangling of default values.
2014-12-09 09:10:51 +00:00
Claude Paroz
8f97413fae
Fixed #20968 -- Checked Spatialite metadata before migrations
...
Thanks Kenial S. Lee for the initial patch and Tim Graham for
the review.
2014-12-08 22:22:53 +01:00
Jon Dufresne
4468c08d70
Fixed #23968 -- Replaced list comprehension with generators and dict comprehension
2014-12-08 07:58:23 -05:00
Claude Paroz
8d7a48027e
Fixed #23954 -- Added special text/varchar PostgreSQL indexes in migrations
...
Thanks adityagupta104 for the report and Tim Graham for the review.
2014-12-04 21:27:42 +01:00
Tim Graham
765fa36d57
Fixed #23920 -- Fixed MySQL crash when adding blank=True to TextField.
...
Thanks wkornewald for the report and Markus Holtermann for review.
2014-12-04 10:57:10 -05:00
Gavin Wahl
dee4d23f7e
Fixed #23950 -- Prevented calling deconstruct on classes in MigrationWriter.
2014-12-03 08:22:29 -05:00
Andriy Sokolovskiy
1739ae9edc
Fixed #23807 -- Ignored non-digits in psycopg2 version
2014-12-01 18:42:08 -05:00
Claude Paroz
e11c6fd218
Fixed #23909 -- Prevented crash when collecting SQL for RunSQL
...
Thanks James Rivett-Carnac for the report and Markus Holtermann
for the review.
2014-12-01 20:26:40 +01:00
Markus Holtermann
d2202ec2d4
Fixed #23880 -- Added missing index_together handling for SQLite
2014-12-01 11:30:33 +07:00
Shai Berger
88edce2abb
Restored the 'TEST_' prefix in the warning about deprecated test database settings
2014-12-01 02:12:19 +02:00
Anssi Kääriäinen
ab89414f40
Fixed #23853 -- Added Join class to replace JoinInfo
...
Also removed Query.join_map. This structure was used to speed up join
reuse calculation. Initial benchmarking shows that this isn't actually
needed. If there are use cases where the removal has real-world
performance implications, it should be relatively straightforward to
reintroduce it as map {alias: [Join-like objects]}.
2014-11-28 07:30:26 -05:00
Anssi Kääriäinen
c7175fcdfe
Fixed #901 -- Added Model.refresh_from_db() method
...
Thanks to github aliases dbrgn, carljm, slurms, dfunckt, and timgraham
for reviews.
2014-11-28 06:54:00 -05:00
Markus Holtermann
912ad03226
Fixed #23894 -- Made deconstruct methods favor kwargs over args
2014-11-28 06:05:56 -05:00
Thomas Chaumeny
6b5d82749c
Fixed #16731 -- Made pattern lookups work properly with F() expressions
2014-11-28 12:50:42 +02:00
Diego Guimarães
f39b0421b4
Fixed #23338 -- Added warning when unique=True on ForeigKey
...
Thanks Jonathan Lindén for the initial patch, and Tim Graham
and Gabe Jackson for the suggestions.
2014-11-27 19:42:30 -05:00
Anssi Kääriäinen
bd337184f1
Fixed #23877 -- aggregation's subquery missed target col
...
Aggregation over subquery produced syntactically incorrect queries in
some cases as Django didn't ensure that source expressions of the
aggregation were present in the subquery.
2014-11-27 06:50:08 -05:00
Anssi Kääriäinen
c7fd9b242d
Fixed #23875 -- cleaned up query.get_count()
2014-11-27 06:26:53 -05:00
MattBlack85
e9d1f1182a
Fixed #23801 -- Added warning when max_length is used with IntegerField
2014-11-26 18:41:54 -05:00
Anssi Kääriäinen
cbb5cdd155
Fixed #23867 -- removed DateQuerySet hacks
...
The .dates() queries were implemented by using custom Query, QuerySet,
and Compiler classes. Instead implement them by using expressions and
database converters APIs.
2014-11-26 17:49:25 -05:00
Simon Charette
9cebb95348
Adjusted a comment to reflect some app refactor changes.
2014-11-26 09:47:37 -05:00
Luke Plant
ff3d746e8d
Fixed bug in circular dependency algo for migration dependencies.
...
Previous algo only worked if the first item was a part of the loop,
and you would get an infinite loop otherwise (see test).
To fix this, it was much easier to do a pre-pass.
A bonus is that you now get an error message that actually helps you debug
the dependency problem.
2014-11-25 15:37:34 +00:00
Carl Meyer
bcb693ebd4
Revert "Fixed #23892 -- Made deconstructible classes forwards compatible"
...
This reverts commit f36151ed16
.
Adding kwargs to deconstructed objects does not achieve useful
forward-compatibility in general, since additional arguments are silently
dropped rather than having their intended effect. In fact, it can make the
failure more difficult to diagnose. Thanks Shai Berger for discussion.
2014-11-22 22:29:23 -07:00
Carl Meyer
f36151ed16
Fixed #23892 -- Made deconstructible classes forwards compatible
2014-11-22 14:30:14 -07:00
Collin Anderson
d4ea4eea79
Fixed #23889 -- Added more usage of quote_name_unless_alias() to avoid deprecation warnings.
2014-11-21 16:44:50 -05:00
Simon Charette
c7087bc777
Fixed #23862 -- Made ManyToManyRel.get_related_field() respect to_field.
2014-11-21 16:02:31 -05:00
Andrzej Pragacz
72729f844e
Fixed #23794 -- Fixed migrations crash when removing a field that's part of index/unique_together.
2014-11-21 10:55:19 -05:00
Brad Walker
cfa26f29bd
Reduced reduce() usage; refs #23796 .
...
django.core.exceptions.ValidationError.messages() and
django.db.backends.schema.BaseDatabaseSchemaEditor._alter_field():
Replaced reduce(operator.add, ...) w/uncoupled, explicit sum()
2014-11-20 14:31:14 -05:00
Anssi Kääriäinen
5c481db295
Fixed #23605 -- Fixed nested subquery regression
...
Added relabeled_clone() method to sql.Query to fix the problem. It
manifested itself in rare cases where at least double nested subquery's
filter condition might target non-existing alias.
Thanks to Trac alias ris for reporting the problem.
2014-11-20 13:38:08 -05:00
Patryk Zawadzki
21e21c7bc2
Fixed #23844 -- Used topological sort for migration operation dependency resolution.
...
This removes the concept of equality between operations to guarantee
compatilibity with Python 3.
Python 3 requires equality to result in identical object hashes. It's
impossible to implement a unique hash that preserves equality as
operations such as field creation depend on being able to accept
arbitrary dicts that cannot be hashed reliably.
Thanks Klaas van Schelven for the original patch in
13d613f800
.
2014-11-20 12:49:49 -05:00
Claude Paroz
1a63093e22
Added AutoField introspection for PostgreSQL
...
Refs #23748 .
2014-11-20 16:13:58 +01:00
Claude Paroz
11662022be
Added AutoField introspection for MySQL
...
Refs #23748 .
2014-11-20 16:13:58 +01:00
Carl Meyer
d6e2bbe734
Fixed #23876 -- Removed dead code in SQLAggregateCompiler.
2014-11-20 04:18:08 -07:00
Carl Meyer
ab2819aa7b
Fixed #23410 -- Avoided unnecessary rollbacks in related apps when migrating backwards.
2014-11-19 16:11:44 -07:00
Carl Meyer
e7b9a58b08
Fixed #21794 -- Removed deprecation warning for abstract models outside an app.
2014-11-19 15:56:04 -07:00
Tim Graham
5bcd292098
Fixed #23871 -- Removed promotion of MySQL warnings to errors in DEBUG mode.
2014-11-19 16:07:49 -05:00
Stratos Moros
cf7a2a000e
Fixed #22248 -- Made RenameModel reversible
2014-11-19 14:11:35 +02:00
Carl Meyer
08fbbaa45b
Deprecated calling a SQLCompiler instance.
2014-11-18 19:47:16 -07:00
Markus Holtermann
7b4a994599
Fixed #23859 -- Fixed a migration crash when a field is renamed that is part of an index_together
2014-11-17 19:15:07 +01:00
twidi
19ae13d9ed
Avoided unneeded calls to state.render() in migrations.
2014-11-17 18:44:09 +01:00
twidi
82aca216e1
Reordered condition to avoid calling allow_migrate() if unneeded.
2014-11-17 18:32:42 +01:00
Anssi Kääriäinen
4252a14c39
Moved bilateral transform fetching to models.lookups
2014-11-17 18:04:08 +01:00
Karen Tracey
dec93d8991
Fixed #21612 -- Made QuerySet.update() respect to_field
2014-11-16 15:44:13 +01:00
Josh Smeaton
f61256da3a
Renamed qn to compiler
2014-11-16 13:19:34 +01:00
Carl Meyer
1ed9b9e2e2
Merge pull request #3536 from Zweedeend/ticket_23837
...
Fixes #23837 : Replace list with deque in migration-planner for improved performance.
2014-11-15 18:56:52 +01:00
Andrew Godwin
c5def493d0
Fixed #23835 : Changed circular dependency in DFS to be less infinite
2014-11-15 17:39:02 +01:00
Niels Kouwenhoven
fefb77934e
Fixes #23837 : Replace list.pop(0) by deque.popleft() in dfs function in migrations
2014-11-15 16:34:20 +01:00
Tim Graham
83d104d61a
Revert "Use topological sort for migration operation dependency resolution"
...
This commit broke the tests on Python 3.
This reverts commit 13d613f800
.
2014-11-15 15:28:04 +01:00
Josh Smeaton
f59fd15c49
Fixed #14030 -- Allowed annotations to accept all expressions
2014-11-15 14:00:43 +00:00
Klaas van Schelven
13d613f800
Use topological sort for migration operation dependency resolution
...
rather than an ad-hoc algorithm
2014-11-15 14:45:42 +01:00
Tim Graham
aa77e90aa9
Remove Field.get_validator_unique_lookup_type()
...
Usage of this method was removed pre 1.0 (c2ba59fc
).
2014-11-12 20:11:40 +01:00
Anssi Kääriäinen
4e9a6c94e6
Removed extra enumerate() from Query.setup_joins()
2014-11-12 13:22:08 +02:00