Commit Graph

2277 Commits

Author SHA1 Message Date
Aymeric Augustin e9d0ef19bc [1.7.x] Fixed #22508 -- Avoided overwriting select_related.
Previously, known related objects overwrote related objects loaded
though select_related. This could cancel the effect of select_related
when it was used over more than one level.

Thanks boxm for the bug report and timo for bisecting the regression.

Backport of f574220f from master
2014-05-10 17:03:42 +02:00
Aymeric Augustin c54fb3d922 [1.7.x] Adjusted refactoring of vendor checks.
Thanks Shai for the thorough review.

Backport of fb90b7c from master
2014-05-10 14:55:22 +02:00
Andrew Godwin 1e8b1db050 [1.7.x] Fixed #22325: Ignore __first__ dependencies to your own app 2014-05-08 21:39:31 -07:00
Andrew Godwin 4535dedc42 [1.7.x] Fixed #22563: Ignore AUTH_USER_MODEL errors in from_state 2014-05-08 21:34:57 -07:00
Aymeric Augustin 7194d40236 [1.7.x] Added feature flags for introspection capabilities.
Backport of 99d9fa32 from master
2014-05-08 22:53:21 +02:00
Aymeric Augustin 92a1e71100 [1.7.x] Split ignores_nulls_in_unique_constraints feature.
Oracle and SQL Server don't have exactly the same limitations. It's
worth treating them differently.

Backport of cff59bed from master
2014-05-08 22:53:11 +02:00
Aymeric Augustin e3bc11cca9 [1.7.x] Replaced vendor checks by three feature flags.
Backport of c70a61eb from master
2014-05-08 22:53:00 +02:00
Aymeric Augustin e244e456c7 [1.7.x] Appeased flake8.
Backport of b1432bfc from master
2014-05-08 22:45:26 +02:00
Andrew Godwin f2bf59a5bc [1.7.x] Fixed #22476: Couldn't alter attributes on M2Ms with through= set 2014-05-08 10:34:45 -07:00
Andrew Godwin 7f63ac5a9f [1.7.x] Fixed #22496: Data migrations get transactions again! 2014-05-07 14:29:04 -07:00
Andrew Godwin d8bf415ab2 [1.7.x] Fixed #22581: Pass default values for schema through get_db_prep_save() 2014-05-07 13:47:02 -07:00
Andrew Godwin f67433e74b [1.7.x] Fixed #22563: Better error message when trying to change AUTH_USER_MODEL
You're not allowed to do this after you've made migrations; see ticket
for more details.
2014-05-07 13:05:32 -07:00
Andrew Godwin 2afb6e0526 [1.7.x] Fixed #22576: Ensure makemigrations doesn't touch the database. 2014-05-06 22:42:53 -07:00
Claude Paroz 0d138b9cf4 [1.7.x] Fixed #22564 -- Prevented unneeded bytestrings in migrations
In some cases, this could lead to migrations written with Python 2
being incompatible with Python 3.
Thanks Tim Graham for the report and Loïc Bistuer for the advices.
Backport of da9cf53cb from master.
2014-05-06 09:14:32 +02:00
Claude Paroz e8f1395f4e [1.7.x] Added a bunch of missing unicode_literals
Refs #22564.
Backport of 12474dace from master.
2014-05-06 09:14:03 +02:00
Anssi Kääriäinen 76979a257d [1.7.x] Fixed #22466 -- ordering by reverse foreign key
Ordering by reverse foreign key was broken by custom lookups patch
(commit 20bab2cf9d).

Thanks to everybody who helped solving this issue. Special thanks to
Trac alias takis for reporting this.

Backport of 3b7c66a3ac from master
2014-05-05 15:29:24 +03:00
Jakub Roztocil 4b6ba2c1d1 [1.7.x] Fixed #22489 -- missing implemenation for search lookup
When custom lookups were added, converting the search lookup to use
the new Lookup infrastructure wasn't done.

Some changes were needed to the added test, main change done by
committer was ensuring the test works on MySQL versions prior to 5.6.

Backport of 7131e14d00 from master
2014-05-05 14:40:06 +03:00
Anssi Kääriäinen 402fc4f6c9 [1.7.x] Fixed #22429 -- Incorrect SQL when using ~Q and F
Backport of 5e1f4656b9 from master
2014-05-05 13:06:51 +03:00
Tim Graham f8fa735dc2 [1.7.x] Fixed #22435 -- Prevented adding a ManyToManyField from prompting for a default.
Thanks andrewsg for the report.

Backport of 3818d96426 from master
2014-05-02 20:53:39 -04:00
Chris Beaven 5ab93bbe74 [1.7.x] Fix migration autodector to work correctly with custom deconstructed values 2014-05-02 15:12:42 +12:00
Yehonatan Daniv d56267ba57 [1.7.x] Fixed #22539 -- Copied exclude argument in Model.full_clean() to prevent side effects.
Backport of e2e4cdba11 from master
2014-05-01 09:30:49 -04:00
Tim Graham e5941ba5f3 [1.7.x] flake8 fixes.
Backport of 45c2d1f5d9 from master.
2014-04-30 18:35:40 -04:00
Andrew Godwin 35c2a14a49 [1.7.x] Fixed #22485: Include all unmigrated apps in project state by default. 2014-04-30 12:26:11 -07:00
Simon Charette a6ecd5dbb3 [1.7.x] Fixed #19195 -- Allow explicit ordering by a relation `_id` field.
Thanks to chrisedgemon for the report and shaib, akaariai and
timgraham for the review.

Backport of 24ec9538b7 from master
2014-04-30 14:26:39 -04:00
Claude Paroz 1084456ac2 [1.7.x] Fixed #22474 -- Made migration recorder aware of multiple databases
Thanks Tim Graham for the review.
Backport of 7c54f8cce from master.
2014-04-30 16:55:12 +02:00
Simon Charette f02f20a739 [1.7.x] Use the new implementation of `six.with_metaclass`.
No more `NewBase` horrors.

Thanks to bendavis78 for his work on merging this into six.

Backport of a2340ac6d6 from master
2014-04-29 10:55:36 -04:00
Alex Gaynor 996564df4d [1.7.x] Fix many many typos in comments throughout the codebase
Backport of 2bcb8bfc8d from master
2014-04-26 14:35:57 -04:00
Aymeric Augustin 3bb0f118ca [1.7.x] Fixed #3214 -- Stopped parsing SQL with regex.
Avoided introducing a new regex-based SQL splitter in the migrations
framework, before we're bound by backwards compatibility.

Adapted this change to the legacy "initial SQL data" feature, even
though it's already deprecated, in order to facilitate the transition
to migrations.

sqlparse becomes mandatory for RunSQL on some databases (all but
PostgreSQL). There's no API to provide a single statement and tell
Django not to attempt splitting. Since we have a more robust splitting
implementation, that seems like a good tradeoff. It's easier to add a
new keyword argument later if necessary than to remove one.

Many people contributed to both tickets, thank you all, and especially
Claude for the review.

Refs #22401.

Backport of 8b5b199 from master
2014-04-26 17:46:57 +02:00
Aymeric Augustin 6b38e48ba1 [1.7.x] Fixed #21166 -- Reset errors_occurred flag after commit and rollback.
Backport of 3033a71 from master.

Conflicts:
	django/db/backends/__init__.py
2014-04-25 22:52:51 +02:00
Aymeric Augustin 782fa14db4 [1.7.x] Set some transaction-related feature flags on SQLite.
Refs #22496.

Backport of e368912 from master.
2014-04-25 11:45:58 +02:00
Shai Berger b8b179bbf5 [1.7.x] Fixed #22498 -- constraint name was not quoted in FK creation SQL
Backport of 843613add4 from master
2014-04-25 01:35:59 +03:00
Shai Berger 7421e1e320 [1.7.x] Made sure cursor.close() does not complain if cursor is already closed on Oracle
Refs #22483

Backport of 53d97e4fe3 from master
2014-04-25 01:35:38 +03:00
Aymeric Augustin 9bbb43dd1a [1.7.x] Ignored repeated calls to connection.close().
Backport of d4cc59ef from master
2014-04-24 08:43:24 +02:00
Aymeric Augustin 5cd6429620 [1.7.x] Prevented a crash in the cursor wrappers on Oracle.
Fixed #22483 (again).

Backport of 0f85103e from master
2014-04-24 08:43:16 +02:00
Aymeric Augustin e32e359d6a [1.7.x] Used the same instance of atomic for entry and exit.
Since all state is maintained on the connection at this time and none in
the atomic, it doesn't matter, but it could introduce some subtle bugs
if the implementation changed in the future.

Backport of 0aa4c6c3 from master
2014-04-23 21:45:49 +02:00
Aymeric Augustin 9bf890f6f9 [1.7.x] Wrapped migrations in a transaction only on DBs with transactional DDL.
Backport of e74d2183 from master
2014-04-23 21:45:38 +02:00
Erik Romijn 34526c2f56 [1.7.x] Fixed queries that may return unexpected results on MySQL due to typecasting.
This is a security fix. Disclosure will follow shortly.

Backport of 75c0d4ea3a from master
2014-04-21 18:29:39 -04:00
Aymeric Augustin 62eb79fc4c [1.7.x] Appeased flake8 2.1.0.
Backport of 428c0bbe1b from master
2014-04-21 07:50:50 -04:00
Alex Gaynor 50dddbdfc7 [1.7.x] Corrected many style guide violations that the newest version of flake8 catches
Backport of 778ce245dd from master
2014-04-21 07:50:43 -04:00
Simon Charette 33d1dc2eeb [1.7.x] Fixed flake8 warnings introduced in recent commits.
Backport of 79f05616fb from master
2014-04-20 13:10:52 -04:00
Tim Graham 9e86c3f0a6 [1.7.x] Fixed flake8 errors.
Backport of 471fb04a30 from master
2014-04-20 13:09:12 -04:00
Andrew Gorcester bc5d568e1e [1.7.x] Fixed #22397 -- Issues removing M2M field with explicit through model
Changed the migration autodetector to remove models last so that FK
and M2M fields will not be left as dangling references. Added a check
in the migration state renderer to error out in the presence of
dangling references instead of leaving them as strings. Fixed a bug
in the sqlite backend to handle the deletion of M2M fields with
"through" models properly (i.e., do nothing successfully).

Thanks to melinath for report, loic for tests and andrewgodwin and
charettes for assistance with architecture.

Backport of 956bd64424 from master
2014-04-18 18:34:00 -04:00
Justin Hamade 7f8bd1a4b3 [1.7.x] Fixed #22434 -- Retain ordering on related sliced subqueries.
Thanks maciej.pawlisz for the report, and charettes for the review.

Backport of a13df671a5 from master
2014-04-16 18:02:25 -04:00
Motiejus Jakštys 71c8ae543f [1.7.x] Fixed #22460 -- Explicity remove constraints when dropping a related field.
Backport of 0e45669fa9 from master
2014-04-16 16:37:08 -04:00
Simon Charette 9fb61cb64a [1.7.x] Fixed #22350 -- Consistently serialize bytes and text in migrations.
Thanks to @treyhunner and Loïc for their suggestions and review.

Backport of 72d3889db4 from master
2014-04-13 19:03:20 -04:00
valtron 6b3a8d2705 [1.7.x] Fixed #21760 -- prefetch_related used an inefficient query for reverse FK.
Regression introduced by commit 9777442. Refs #21410.

Backport of d3b71b976d from master
2014-04-13 00:51:38 +07:00
Aymeric Augustin 3f48ca2071 [1.7.x] Improved a comment. Thanks intgr for the report.
Backport of 476db08 from master
2014-04-11 23:03:25 +02:00
Aymeric Augustin 1bcc8eb0f6 [1.7.x] Increased robustness of 58161e4e. Refs #22291.
Backport of ee837b9a from master
2014-04-10 23:18:36 +02:00
Aymeric Augustin 2ad0bc132a [1.7.x] Fixed #21202 -- Maintained atomicity when the server disconnects.
Thanks intgr for the report.

This commit doesn't include a test because I don't know how to emulate a
database disconnection in a cross-database compatible way.

Also simplified a 'backends' test that was constrained by this problem.

Backport of 81761508 from master
2014-04-10 23:18:36 +02:00
Aymeric Augustin 2e42c859da [1.7.x] Fixed #21239 -- Maintained atomicity when closing the connection.
Refs #15802 -- Reverted #7c657b24 as BaseDatabaseWrapper.close() now
has a proper "finally" clause that may need to preserve self.connection.

Backport of 25860096 from master.
2014-04-10 23:18:35 +02:00