Commit Graph

2829 Commits

Author SHA1 Message Date
Tim Graham e4b813c0e7 [1.8.x] Fixed #25160 -- Moved unsaved model instance data loss check to Model.save()
This mostly reverts 5643a3b51b and
81e1a35c36.

Thanks Carl Meyer for review.

Backport of 5980b05c1f from master
2015-08-10 11:31:22 -04:00
Matt Johnson 05c7129bf2 [1.8.x] Fixed #12768 -- Fixed QuerySet.raw() regression on FK with custom db_column.
Backport of e063ac2fae from master
2015-07-23 18:44:58 -04:00
薛丞宏 a97e50c5e6 [1.8.x] Fixed #25016 -- Reallowed non-ASCII values for ForeignKey.related_name on Python 3.
Backport of d3e12c9017 from master
2015-06-26 08:35:13 -04:00
Tim Graham ae1d663b79 [1.8.x] Renamed RemovedInDjango20Warning to RemovedInDjango110Warning. 2015-06-23 07:22:16 -04:00
Markus Holtermann f64a3de2d4 [1.8.x] Fixed #24940 -- Made model managers hashable
Thanks Federico Jaramillo Martínez for the report and Tim Graham for the
test and review.

Backport of d3d66d4722 from master
2015-06-19 19:15:01 +02:00
Adam Brenecki 0e3a80fa68 [1.8.x] Fixed #24972 -- Fixed removing unique_together indexes on MySQL.
Backport of 65296b3be3 from master
2015-06-15 17:32:07 -04:00
Brian King c58755d875 [1.8.x] Fixed #24912 -- Fixed prefetch_related failure for UUIDField primary keys
This resolves a problem on databases besides PostgreSQL when using
prefetch_related with a source model that uses a UUID primary key.

Backport of bfb5b7150f from master
2015-06-15 17:31:50 -04:00
Tim Graham 062ce508b0 [1.8.x] Fixed flake8 warnings on Python 3.
Backport of 47fcbe506c from master
2015-06-15 13:01:41 -04:00
Andriy Sokolovskiy b4b13759f8 [1.8.x] Fixed #24744 - Fixed relabeled_clone for the Transform
Backport of 08232ef84d from master
2015-06-06 09:11:46 -04:00
Mark Lavin 0cfb7ed5c5 [1.8.x] Fixed #24924 -- Join promotion for multiple Case expressions
Backport of 541f4ea546 from master
2015-06-05 12:23:08 -04:00
Andriy Sokolovskiy 469f1e362b [1.8.x] Fixed #24833 -- Fixed Case expressions with exclude(). 2015-06-05 11:03:41 -04:00
Carl Meyer 2358c1e5d7 [1.8.x] Cleaned up docstring style, per Tim Graham review.
Backport of 57dbc87ade from master.
2015-06-03 19:21:23 -06:00
Carl Meyer feed5ad2a0 [1.8.x] Refs #24628 -- Added a second test and a docstring comment to avoid regression.
Backport of 5c085ea7b3 from master.
2015-06-03 15:48:53 -06:00
Carl Meyer efdcd13c34 [1.8.x] Fixed #24628 -- Fixed applied status for squashed migrations.
Backport of 492537ac18 from master.
2015-06-02 16:21:58 -06:00
Carl Meyer 98b40ffe61 [1.8.x] Fixed #24895 -- Fixed loading a pair of squashed migrations with a dependency.
Backport of 84522c0d16 from master.
2015-06-02 12:10:04 -06:00
Andriy Sokolovskiy 9d83de8ff3 [1.8.x] Fixed #24831 -- Fixed pickling queryset with prefetch_related() after deleting objects.
Backport of 2913d6b77d from master
2015-06-02 10:07:45 -04:00
Tim Graham 1c57d7e7fa [1.8.x] Fixed #24893 -- Fixed lack of unique constraint when changing a field from primary_key=True to unique=True
Backport of e1e6399c2c from master
2015-06-02 09:32:22 -04:00
Tim Graham 8911d2e20f [1.8.x] Fixed #24892 -- Fixed quoting of SQL when renaming a field to AutoField in PostgreSQL
Backport of 5ab8680983 from master
2015-06-02 09:15:08 -04:00
Andriy Sokolovskiy f65d4db8a8 [1.8.x] Fixed #24817 -- Prevented loss of null info in MySQL field renaming.
Backport of 80ad5472ce from master
2015-05-28 10:08:14 -04:00
Paweł Marczewski 2aa2b9f291 [1.8.x] Fixed #24835 -- Fixed QuerySet.exists() after an annotation with Count()
QuerySet.exists() incorrectly handled query.group_by = True
case (grouping by all select fields), causing GROUP BY
expressions to be wiped along with select fields.

Backport of 801a84ae32 from master
2015-05-25 20:47:28 -04:00
Marten Kenbeek 1ac4c7d415 [1.8.x] Fixed #24848 -- Fixed ValueError for faulty migrations module.
Added apps to unmigrated apps if the migrations module is a file
or a folder missing __init__.py.

Thanks to Ernest0x for the bug report.

Backport of d73176a842 from master
2015-05-25 13:56:37 -04:00
Anssi Kääriäinen db65660928 [1.8.x] Fixed #24705 -- Fixed negated Q objects in expressions.
Avoided split_exclude() for Q when used as an expression.

Backport of bc87061a3c from master
2015-05-20 09:41:42 -04:00
Claude Paroz cdf7f90f95 [1.8.x] Fixed #24791 -- Added fallback when 'postgres' database isn't available
Thanks Carl Meyer and Tim Graham for the reviews.
Backport of 322605035 from master.
2015-05-15 18:46:05 +02:00
Claude Paroz 6a0d9f068f [1.8.x] Fixed #24757 -- Recreated MySQL index when needed during combined index removal
Thanks Thomas Recouvreux for the report and Tim Graham for the tests and
review.
Backport of ae635cc36 from master.
2015-05-15 17:08:49 +02:00
Abhaya Agarwal 290c9d6654 [1.8.x] Fixed #24698, #24712 -- Added ForeignKey.get_db_prep_value()
Fixed crashes with ForeignKey to UUIDField and inheritance with UUIDField
primary keys.
2015-05-12 19:37:37 -04:00
Anssi Kääriäinen d5ce2dd7bc [1.8.x] Fixed #24748 -- Fixed incorrect GROUP BY on MySQL in some queries
When the query's model had a self-referential foreign key, the
compiler.get_group_by() code incorrectly used the self-referential
foreign key's column (for example parent_id) as GROUP BY clause
when it should have used the model's primary key column (id).

Backport of adc57632bc from master
2015-05-11 11:52:14 -04:00
Anssi Kääriäinen 056a91dbfa [1.8.x] Fixed #24766 -- Added join promotion for Case expressions
Backport of be9d645346 from master
2015-05-11 11:17:37 -04:00
Tim Graham 6a7b27c743 [1.8.x] Fixed #24758 -- Corrected Options.get_fields() docstring.
Backport of b99114f67f from master
2015-05-08 13:19:32 -04:00
Anssi Kääriäinen 5b5858575c [1.8.x] Fixed #24752 -- query crash when reusing Case expressions
Case expressions weren't copied deep enough (self.cases list was
reused resulting in an error).

Backport of 7b05d2fdae from master
2015-05-05 11:38:48 -04:00
Milan Broum 0d6b7e4a88 [1.8.x] Allowed using the sqlite3 backend as much as possible without _sqlite3.
The inner import was dropped during the reorganizing of the database
backends in commit 28308078f3.

Backport of 95058606c8 from master
2015-05-04 13:00:23 -04:00
Aric Coady 6b05d3a2e3 [1.8.x] Fixed #24729 -- Removed test db flush when using --keepdb. 2015-04-30 09:50:46 -04:00
Markus Holtermann bf4dc5733f [1.8.x] Fixed #24725 -- Allowed renaming of target models in ManyToMany relations
This is a regression caused by introducing rendered migration states in
1aa3e09c20 and the _meta refactoring in fb48eb0581.

Thanks to Danilo Bargen for reporting the issue and Marten Kenbeek and
Tim Graham for triaging the bug and providing the initial test case.

Backport of 63f9b633f9 from master
2015-04-30 13:46:24 +02:00
Aric Coady b67bd1b483 [1.8.x] Fixed #24719 -- Restored the ability to use interators as queryset related object filters.
Backport of 9c2d8cde77 from master
2015-04-28 11:00:58 -04:00
Markus Holtermann 419f296259 [1.8.x] Fixed #24701 -- Converted model manager names to unicode in migrations
Thanks to Reto Aebersold for reporting the issue and Tim Graham and
Claude Paroz for the review.

Backport of faad6070ee from master
2015-04-25 18:18:40 +02:00
Markus Holtermann 0cacb8f8ba [1.8.x] Fixed #24573 -- Considered new related models for reloading
Thanks tttomekkk for the report.

Backport of b93690c465 from master
2015-04-21 12:06:11 +02:00
Matthew Wilkes 697317f334 [1.8.x] Refs #24354 -- Prevented repointing of relations on superclasses when migrating a subclass's name change
The issue was hidden on 1.8+ until #24573 due to a bug inside the model
reloading process.

Forwardport of patch from ae87ad005f
2015-04-21 12:02:27 +02:00
Marten Kenbeek 516907540b [1.8.x] Refs #24591 -- Optimized cloning of ModelState objects.
Changed ModelState.clone() to create a deepcopy of self.fields.
2015-04-20 19:23:15 -04:00
Claude Paroz bbfcd9618b [1.8.x] Fixed #24595 -- Prevented loss of null info in MySQL field alteration
Thanks Simon Percivall for the report, and Simon Charette and Tim
Graham for the reviews.
Backport of 02260ea3f6 from master.
2015-04-17 11:01:36 +02:00
Anssi Kääriäinen 581afddc77 [1.8.x] Fixed #24605 -- Fixed incorrect reference to alias in subquery.
Thanks to charettes and priidukull for investigating the issue, and to
kurevin for the report.

Backport of 355c5edd93 from master
2015-04-16 09:31:29 -04:00
Anssi Kääriäinen 70ff455a35 [1.8.x] Fixed #24615 -- ordering by expression not part of SELECT
Fixed queries where an expression was used in order_by() but the
expression wasn't in the query's select clause (for example the
expression could be masked by .values() call)

Thanks to Trac alias MattBlack85 for the report.
Backport of fb5c7748da from master.
2015-04-16 09:42:42 +02:00
peterfarrell 309142dba1 [1.8.x] Fixed #24637 -- Fixed database introspection with SQLite 3.8.9.
Backport of f8e8853b51 from master
2015-04-14 11:30:21 -04:00
Jay Wineinger 496800b3bf [1.8.x] Fixed #24611 -- Fixed update() crash with related UUID pk object.
Backport of 923da0274a from master
2015-04-13 12:20:41 -04:00
Tim Graham b1dc128a03 [1.8.x] Fixed #24578 -- Fixed crash with QuerySet.update() on FK to O2O fields.
Thanks Anssi Kääriäinen for review.

Backport of 10b4c010ab2cdaa6ba8bfaec3e3540299ea77be from master
2015-04-09 08:24:07 -04:00
Patryk Zawadzki 9f632dc702 [1.8.x] Fixed #24513 -- Made sure a model is only rendered once during reloads
This also prevents state modifications from corrupting previous states.
Previously, when a model defining a relation was unregistered first,
clearing the cache would cause its related models' _meta to be cleared
and would result in the old models losing track of their relations.

Backport of 0385dad073 from master
2015-04-07 14:56:33 +02:00
Jon Dufresne 551d4bb46a [1.8.x] Fixed #24584 -- Fixed microsecond handling with older MySQLdb
Backport of 2cf58e80d from master.
2015-04-06 22:45:36 +02:00
Marten Kenbeek 773387ce42 [1.8.x] Fixed #24278 -- Fixed serialization of migration operations.
Fixed MigrationWriter.serialize() to correctly handle migration
operations by utilizing OperationWriter.

Thanks Piotr Maliński for the report.

Backport of e8e4f978dd from master
2015-04-05 20:29:27 +02:00
Marten Kenbeek 651cc369ad [1.8.x] Refs #24278 -- Allowed multi-line serializations in OperationWriter.
Changed OperationWriter to support multi-line serialized values with
correct indentation.

Backport of d597174bd4 from master
2015-04-05 20:29:21 +02:00
Baptiste Mispelon 09188b5024 [1.8.x] Fixed #24566 -- Added support for serializing timedelta
Thanks to knbk for the report.

Backport of 30a3c2f74c from master.
2015-04-02 17:41:08 +02:00
Markus Holtermann 2218f7617e [1.8.x] Refs #24554 -- Prevented rendering of unused migrations
Thanks Claude Paroz and Tim Graham for the review

Backport of 3e7d9d05ac from master
2015-04-01 11:14:55 +02:00
Markus Holtermann 0c7e2833d9 [1.8.x] Fixed #24554 -- Sped up migrations by rendering initial apps when they are first needed
Calling Migration.mutate_state() now also allows to do in_place
mutations in case an intermediate state is thrown away later.

Thanks Anssi Kääriäinen for the idea, Ryan Hall for parts of the patch,
and Claude Paroz and Tim Graham for the review

Backport of 57dc8dd3fa from master
2015-04-01 11:14:55 +02:00