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
Jozef Knaperek
c56c42b5c0
Fixed #22967 -- Made Model._do_update consistent
...
Made _do_update behave more strictly according to its docs,
including a corner case when specific concurent updates are
executed and select_on_save is set.
2014-11-12 12:53:30 +02:00
Anssi Kääriäinen
d647764a53
Improved Query.names_to_path docstring
2014-11-12 12:40:55 +02:00
Anssi Kääriäinen
b3fd39f7c8
Simplified Query.build_lookup()
2014-11-11 08:14:29 +02:00
Thomas Chaumeny
88b2a20f04
Simplified MySQL storage engine detection using INFORMATION_SCHEMA.ENGINES table
...
Query the table introduced in MySQL 5.1; refs #23144 .
2014-11-10 18:16:14 +01:00
Markus Holtermann
c7c098cf97
Fixed #23770 -- Changed serialization strategy for floats with respect to NaN and Inf
...
Thanks to w0rp for the report
2014-11-06 15:30:30 +01:00
Veres Lajos
a71a2ea756
Fixed typos using https://github.com/vlajos/misspell_fixer
2014-11-03 20:59:30 -05:00
Andy Chosak
ceb1ffcc8d
Fixed #23420 - broken warning for unbound naive datetime objects
...
Fixed issue with warning message displayed for unbound naive datetime
objects when USE_TZ is True. Adds unit test that demonstrates the issue
(discoverable when using a custom lookup in MySQL).
2014-11-03 15:51:48 +02:00
Markus Holtermann
715ccfde24
Fixed #23738 -- Allowed migrating from NULL to NOT NULL with the same default value
...
Thanks to Andrey Antukh for the report.
2014-10-31 13:30:30 -04:00
twidi
fd061b6591
Fixed #23733 -- Fixed squashing migrations that depend on multiple apps.
2014-10-30 14:39:11 -04:00
Markus Holtermann
85086c8158
Fixed #23556 -- Raised a more meaningful error message when migrations refer to an unavailable node
2014-10-30 00:17:29 +01:00
Markus Holtermann
5c9c1e029d
Fixed #23614 -- Changed the way the migration autodetector orders unique/index_together
...
Thanks to Naddiseo for the report and Tim Graham for the review
2014-10-29 13:05:42 -04:00
Berker Peksag
c9178ef17a
Limited lines to 119 characters in django/{contrib,db}.
...
Refs #23395 .
2014-10-29 07:59:35 -04:00
Claude Paroz
713f23492a
Required MySQLdb >= 1.2.5 for fractional seconds support
...
On MySQLdb < 1.2.5, MySQLdb returns None when fetching datetime/time
values with fractional seconds.
See https://github.com/farcepest/MySQLdb1/issues/24
2014-10-28 15:06:58 +01:00
Claude Paroz
22da5f8817
Fixed #19716 -- Added support for microseconds with MySQL 5.6.4 and up
...
Thanks erik@cederstrand.dk for the report and Tim Graham for the review.
2014-10-28 15:06:58 +01:00
Claude Paroz
9e746c13e8
Stopped stripping microseconds with MySQL backend
...
Refs #19716 .
2014-10-28 15:06:57 +01:00
Collin Anderson
ae7cb992bc
Fixed #23721 -- check_related_objects without calling __iter__
...
Refs #14334
2014-10-28 10:13:50 +02:00
Thomas Chaumeny
00aa562884
Fixed #23493 -- Added bilateral attribute to Transform
2014-10-28 10:02:10 +02:00
Claude Paroz
5b8e37a69e
Fixed typo in MySQL backend doctring
...
Thanks CHI Cheng for the report.
2014-10-27 14:01:12 +01:00
Mikhail Denisenko
d4bc0bf435
Fixed #22879 -- Intercept errors coming from cursor.__next__()
2014-10-27 14:51:40 +02:00
Claude Paroz
7f089ac2e3
Fixed #23446 -- Officially recommended mysqlclient as MySQL driver
...
Thanks Corey Farwell for the report and Tim Graham for the review.
Thanks also to Inada Naoki for creating and maintaining mysqlclient.
2014-10-27 09:11:33 +01:00
Claude Paroz
45db842c9b
Fixed #23652 -- Restored database name after destroying test database
...
Thanks Bjarkias for the report.
2014-10-24 17:04:43 +02:00
Claude Paroz
e50e0ee27b
Fixed #23618 -- Allowed apps with no models to still have migrations
...
Basically a4737bf6ae
reapplied.
2014-10-24 15:10:39 +02:00
Tim Graham
92269b7b53
Fixed #23702 -- Fixed adding an explicit id field on SQLite.
...
Thanks gavinwahl for the report.
2014-10-23 12:24:34 -04:00
Tim Graham
41b337efa0
Fixed #23630 -- Made AlterModelTable rename auto-created M2M tables.
...
Thanks Naddiseo for the report, Andrew Godwin for guidance,
and Shai Berger for review.
2014-10-23 08:05:39 -04:00
Gabe Jackson
0e16c3e3cd
Fixed #23396 -- Ensured ValueQuerySets are not checked by check_related_objects.
2014-10-21 10:02:51 -04:00
Tianyi Wang
5732424bee
Fixed #23629 -- Allowed autodetector to detect changes in Meta.db_table.
...
Thanks Naddiseo for reporting.
2014-10-20 13:14:44 -04:00
Nicholas Serra
6c79d32977
Fixed #23684 -- Used correct package name for Pillow in Error hint.
2014-10-19 13:46:46 +07:00
Shai Berger
2e1ed5f33c
Fixed #23649 -- Made Oracle test-db creation drop test-user earlier when needed
...
Checked database destruction for ORA-29857, which happens when objects of
some types are left over in an old test database (notably, such objects
are created by the GIS backend). When this happens, we can resolve the
issue by dropping the test-user (if we are allowed to).
An alternative approach, to just switch the order of creation (so that,
if the test user exists and can be dropped, it is always dropped before
the tablespace) was considered; but since the user creation depends on
the tablespace, this would necessitate separating the dropping of the user
from its creation -- a change I am reluctant to make.
Thanks Josh Smeaton and Tim Graham for reviews.
2014-10-17 04:46:15 +03:00
Thomas Chaumeny
b962653060
Fixed #23664 -- Provided a consistent definition for OrderedSet.__bool__
...
This also defines QuerySet.__bool__ for consistency though this should not have any consequence as bool(qs) used to fallback on QuerySet.__len__ in Py3.
2014-10-16 14:16:24 +02:00
Claude Paroz
374c14b7fd
Fixed #23659 -- Kept annotate() args ordering
...
Thanks Loic Bistuer and Simon Charette for the review.
2014-10-16 09:27:20 +02:00
Collin Anderson
a6a8268d19
Fixed #23660 -- Moved sort_dependencies to core.
2014-10-16 03:04:13 +07:00
Marc Tamlyn
92a17eaae0
Fixed #23627 -- Allowed register_lookup to work as a decorator.
2014-10-09 18:44:58 +01:00
Markus Holtermann
f633ba778d
Fixed #23609 -- Fixed IntegrityError that prevented altering a NULL column into a NOT NULL one due to existing rows
...
Thanks to Simon Charette, Loic Bistuer and Tim Graham for the review.
2014-10-09 21:32:06 +07:00
Artem Rizhov
ca61195827
Fixed #23555 -- Avoided suppressing IndexError in QuerySet.first() and .last()
2014-10-08 14:28:38 -04:00
Loic Bistuer
ed37f7e979
Fixed #23611 -- update_or_create failing from a related manager
...
Added update_or_create to RelatedManager, ManyRelatedManager and
GenericRelatedObjectManager.
Added missing get_or_create to GenericRelatedObjectManager.
2014-10-08 03:27:31 +07:00
André Ericson
1e5e2a4707
Fixed #22064 -- Add check for related_name
...
Validates that related_name is a valid Python id or ends with a '+' and
it's not a keyword. Without a check it passed silently leading to
unpredictable problems.
Thanks Konrad Świat for the initial work.
2014-10-04 20:47:26 -03:00
Markus Holtermann
85f6d89313
Fixed #23426 -- Allowed parameters in migrations.RunSQL
...
Thanks tchaumeny and Loic for reviews.
2014-10-02 11:52:40 -04:00
Rudy Mutter
a407b846b4
Fixed #23365 -- Added support for timezone-aware datetimes to migrations.
2014-09-29 20:45:43 -04:00
Thomas Chaumeny
b2aad7b836
Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.
...
Thanks Collin Anderson for the review.
2014-09-29 00:01:38 +07:00
Shai Berger
a54adcecff
Fixed git blunder, refs #22738
2014-09-27 09:57:09 +03:00
Shai Berger
c1ae0621ba
Fixed #22738 -- made finer distinctions for when Boolean is not detected on Oracle
...
Thanks Claude Paroz for partial fix and Simon Charrette for review
2014-09-27 09:49:50 +03:00
Claude Paroz
dbdae3a755
Fixed #22738 -- Abstracted boolean field type introspection
...
Thanks maxi for the report, Shai Berger for his help with the patch
and Tim Graham for the review.
2014-09-26 20:03:44 +02:00
Loic Bistuer
b23d47412c
Fixed #23560 -- Fixed MigrationWrite to handle builtin types without imports.
...
Thanks Tim Graham for the review.
2014-09-27 00:36:28 +07:00
Matt Robenolt
ef5f9b6ae8
Fixed #23460 -- Added literal `%s` support to extra() QuerySets.
2014-09-26 13:01:27 -04:00
Claude Paroz
d1ca70110f
Factorized schema_editor() at BaseDatabaseWrapper level
2014-09-26 08:50:16 +02:00
Markus Holtermann
45bd7b3bd9
Fixed #23455 -- Forced related_name to be a unicode string during deconstruction.
2014-09-25 17:49:44 -04:00
Tim Graham
74e7f91e6d
Fixed #23538 -- Added SchemaEditor for MySQL GIS.
...
Thanks Claude Paroz for suggestions and review.
2014-09-25 13:53:44 -04:00
Markus Holtermann
215aa4f53b
Fixed #23415 -- Added fields for unmanaged and proxy model migrations.
...
Thanks sky-chen for the report.
2014-09-25 10:25:03 -04:00
Tim Graham
d7ab2cefb7
Revert "Fixed #23474 -- Prevented migrating backwards from unapplying the wrong migrations."
...
This reverts commit abcf28a076
.
2014-09-24 15:49:30 -04:00
Markus Holtermann
b9a670b227
Fixed #23426 -- Don't require double percent sign in RunSQL without parameters
2014-09-24 07:20:57 -04:00
Tim Graham
0aca91cf7f
Fixed flake8 warnings.
2014-09-24 06:32:42 -04:00
Shai Berger
d128eac316
Changed Oracle test-user creation to grant privileges instead of roles
...
because the roles (specifically RESOURCE) are deprecated.
Also added optional support for creating views in tests, and made an
introspection test fail (rather than skip) if a view cannot be created
due to lacking privileges.
Refs #18782
Thanks Tim Graham for review, and Josh Smeaton
2014-09-24 04:58:33 +03:00
Loic Bistuer
e043aae9bb
Fixed #23550 -- Normalized get_queryset() of RelatedObjectDescriptor
...
and ReverseSingleRelatedObjectDescriptor so they actually return QuerySet
instances.
Also ensured that SingleRelatedObjectDescriptor.get_queryset() accounts
for use_for_related_fields=True.
This cleanup lays the groundwork for #23533 .
Thanks Anssi Kääriäinen for the review.
2014-09-24 02:03:12 +07:00
Claude Paroz
2a1bdf5ced
Called table_names instead of get_table_list in migrations
2014-09-23 20:13:31 +02:00
Claude Paroz
ed297061a6
Fixed #18782 -- Prevented sql_flush to flush views
...
Thanks rodolfo_3 for the report and the initial patch, and
Josh Smeaton, Shai Berger and Tim Graham for the reviews.
2014-09-23 20:13:31 +02:00
Claude Paroz
b8cdc7dcc3
Made get_table_list return a TableInfo named tuple
2014-09-23 20:13:31 +02:00
Sergey Fedoseev
463952d940
Fixed #23503 -- Fixed renaming of model with self-referential m2m field.
2014-09-23 10:03:37 -04:00
Sergey Fedoseev
83cd18633f
Fixed #23065 -- Quoted constraint names in SQL generated by migrations.
2014-09-23 09:25:31 -04:00
Sergey Fedoseev
0bea6c8749
Factored create_fk_sql, create_unique_sql, and delete_constraint_sql.
2014-09-23 09:24:32 -04:00
Thomas Chaumeny
e008a10c2f
Fixed #23443 -- Corrected erroneous FieldError message.
...
Thanks Tim Graham for the review.
2014-09-19 01:01:31 +07:00