Commit Graph

356 Commits

Author SHA1 Message Date
Cody Scott a8e84521c4 Noted that .clear() will delete intermediary models 2013-11-08 19:24:31 -05:00
Florian Hahn 5240b83462 Fixed #17027 -- Added support for the power operator in F expressions.
Thanks dan at dlo.me for the initial patch.

- Added __pow__ and __rpow__ to ExpressionNode
- Added oracle and mysql specific power expressions
- Added used-defined power function for sqlite
2013-10-22 10:29:57 -04:00
Cody Scott 8bfc7cc64c Minor edits to docs/topics/db/queries.txt. 2013-10-11 15:34:11 -04:00
Cody Scott 695bc0d191 Small improvements to docs/topics/db/models.txt 2013-10-10 20:56:11 -04:00
Tim Graham 75bb6ba966 Fixed #10913 -- Documented how related_name affects QuerySet filtering
Thanks neithere for the suggestion.
2013-10-02 12:12:53 -04:00
Aymeric Augustin 728548e483 Fixed #21134 -- Prevented queries in broken transactions.
Squashed commit of the following:

commit 63ddb271a44df389b2c302e421fc17b7f0529755
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date:   Sun Sep 29 22:51:00 2013 +0200

    Clarified interactions between atomic and exceptions.

commit 2899ec299228217c876ba3aa4024e523a41c8504
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date:   Sun Sep 22 22:45:32 2013 +0200

    Fixed TransactionManagementError in tests.

    Previous commit introduced an additional check to prevent running
    queries in transactions that will be rolled back, which triggered a few
    failures in the tests. In practice using transaction.atomic instead of
    the low-level savepoint APIs was enough to fix the problems.

commit 4a639b059ea80aeb78f7f160a7d4b9f609b9c238
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date:   Tue Sep 24 22:24:17 2013 +0200

    Allowed nesting constraint_checks_disabled inside atomic.

    Since MySQL handles transactions loosely, this isn't a problem.

commit 2a4ab1cb6e83391ff7e25d08479e230ca564bfef
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date:   Sat Sep 21 18:43:12 2013 +0200

    Prevented running queries in transactions that will be rolled back.

    This avoids a counter-intuitive behavior in an edge case on databases
    with non-atomic transaction semantics.

    It prevents using savepoint_rollback() inside an atomic block without
    calling set_rollback(False) first, which is backwards-incompatible in
    tests.

    Refs #21134.

commit 8e3db393853c7ac64a445b66e57f3620a3fde7b0
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date:   Sun Sep 22 22:14:17 2013 +0200

    Replaced manual savepoints by atomic blocks.

    This ensures the rollback flag is handled consistently in internal APIs.
2013-09-30 09:42:27 +02:00
Michael Manfre 99c87f1410 Fixed #17671 - Cursors are now context managers. 2013-09-25 21:47:26 +03:00
Loic Bistuer 04a2a6b0f9 Fixed #3871 -- Custom managers when traversing reverse relations. 2013-09-25 21:15:59 +03:00
Ramiro Morales 9dc45efeba Reference Meta.index_together in DB performance guide. 2013-09-22 11:11:02 -03:00
evildmp dc8f95b639 Fixed #20877 -- added a performance optimization guide 2013-09-20 23:21:49 +01:00
Aymeric Augustin 4db2752e28 Clarified why one must not catch database errors inside atomic. 2013-09-20 21:56:35 +02:00
e0ne cbf08c6b0c Fixed #16895 -- Warned about cost of QuerySet ordering
Thanks outofculture at gmail.com for the suggestion.
2013-09-09 09:47:18 -04:00
evildmp 79cc66692a Consolidated documentation for F() and Q() 2013-09-06 12:57:25 -05:00
Eric Boersma 4d13cc56de Fixed #21035 -- Changed docs to treat the acronym SQL phonetically.
The documentation and comments now all use 'an' to
refer to the word SQL and not 'a'.
2013-09-05 20:14:58 -04:00
Andrew Godwin b6a957f0ba Merge remote-tracking branch 'core/master' into schema-alteration
Conflicts:
	docs/ref/django-admin.txt
2013-08-19 18:30:48 +01:00
Tim Graham 7b69c3e775 Removed versionadded/changed annotations for 1.5 2013-08-19 09:09:41 -04:00
Tim Graham 29255fcb4f Fixed some ReST errors regarding backticks 2013-08-15 07:14:10 -04:00
Andrew Godwin de64c4d6e9 Merge remote-tracking branch 'core/master' into schema-alteration
Conflicts:
	django/core/management/commands/flush.py
	django/core/management/commands/syncdb.py
	django/db/models/loading.py
	docs/internals/deprecation.txt
	docs/ref/django-admin.txt
	docs/releases/1.7.txt
2013-08-09 14:17:30 +01:00
Dominic Rodger c33d1ca1d9 Fixed #20852 - Fixed incorrectly generated left quotes in docs.
Sphinx generates left single quotes for apostrophes after
code markup, when right single quotes are required. The
easiest way to fix this is just by inserting the unicode
character for a right single quote.

Instances of the problem were found by looking for
">&#8216;" in the generated HTML.
2013-08-06 07:13:17 -04:00
Andrew Godwin fddc5957c5 Implement allow_migrate for migration operations 2013-07-30 12:34:31 +01:00
Andrew Godwin 12e9804d16 Rename allow_syncdb to allow_migrate 2013-07-30 12:08:59 +01:00
Julien Phalip 47c755327b Fixed a number of minor misspellings. 2013-07-27 18:46:03 -07:00
Loic Bistuer 31fadc1202 Fixed #20625 -- Chainable Manager/QuerySet methods.
Additionally this patch solves the orthogonal problem that specialized
`QuerySet` like `ValuesQuerySet` didn't inherit from the current `QuerySet`
type. This wasn't an issue until now because we didn't officially support
custom `QuerySet` but it became necessary with the introduction of this new
feature.

Thanks aaugustin, akaariai, carljm, charettes, mjtamlyn, shaib and timgraham
for the reviews.
2013-07-26 12:41:27 +03:00
Andrew Godwin f8297f6323 More migration docs, and conversion of all easy syncdb references 2013-07-25 16:19:36 +01:00
Claude Paroz 64099e30e8 Removed obsolete sentence in queries docs 2013-07-13 21:08:44 +02:00
Claude Paroz 7442eb1a24 Fixed #20224 -- Update docs examples which mention __unicode__
Thanks Marc Tamlyn and Tim Graham for the review.
2013-07-05 19:27:07 +02:00
Shai Berger d097417025 Support 'pyformat' style parameters in raw queries, Refs #10070
Add support for Oracle, fix an issue with the repr of RawQuerySet,
add tests and documentations. Also added a 'supports_paramstyle_pyformat'
database feature, True by default, False for SQLite.

Thanks Donald Stufft for review of documentation.
2013-06-28 06:59:10 +03:00
Aymeric Augustin c1284c3d3c Fixed #20571 -- Added an API to control connection.needs_rollback.
This is useful:
- to force a rollback on the exit of an atomic block without having to
  raise and catch an exception;
- to prevent a rollback after handling an exception manually.
2013-06-27 22:19:54 +02:00
Tim Graham f315693304 Fixed #20543 - Typo in db model fields docs.
Thanks i.amber.jain@ for the report.
2013-06-01 05:48:38 -04:00
Tim Graham 8365d76da0 Fixed #20513 - Expanded docs on QuerySet caching.
Thanks seddonym.
2013-05-28 08:41:13 -04:00
yishaibeeri f077f89198 Patch for ticket #20506 - documentation type 2013-05-27 11:14:38 +03:00
Aymeric Augustin 6633eeb886 Changed API to disable ATOMIC_REQUESTS per view.
A decorator is easier to apply to CBVs. Backwards compatibility isn't an
issue here, except for people running on a recent clone of master.

Fixed a few minor problems in the transactions docs while I was there.
2013-05-19 19:53:16 +02:00
Tim Graham 41bea033b7 Fixed #20183 - Clarified docs assumption that certain objects exist in database.
Thanks Tomasz Jaskowski for the patch.
2013-05-19 11:31:27 -04:00
Marc Egli e4591debd1 Add missing imports and models to the examples in the the model layer documentation 2013-05-18 18:38:52 +02:00
Marc Tamlyn 9666874ee1 Tidy up some of the transaction documentation. 2013-05-17 18:40:50 +02:00
Mike Fogel 1ad83145df Remove outdated ForeignKey manager documentation. 2013-05-07 10:06:15 -04:00
Christopher Allen-Poole a96bff179a Found a mistake in SQL documentation 2013-05-05 11:01:45 -04:00
Ana Krivokapic cee96b87c0 Fix two typos in database transactions docs 2013-04-30 18:38:59 +02:00
Juan Catalano 78c842a323 Adapted uses of versionchanged/versionadded to the new form.
Refs #20104.
2013-04-20 17:18:35 +02:00
Tim Graham c119d0f152 Fixed #20168 - Generalized a PostgreSQL specific database query in the docs.
Thanks Russ for the suggestion.
2013-03-31 03:40:44 -04:00
Nimesh Ghelani 485c024567 Fixed #20150 -- Fixed an error in manager doc example 2013-03-30 01:01:56 +05:30
Simon Charette 6293eaa062 Fixed #20159 -- Mispelled attribute in multi-db documentation example.
Thanks to sane4ka.sh at gmail for the report!
2013-03-29 14:16:30 -04:00
Ramiro Morales ccf8d81113 Fixed docs reST warning. 2013-03-25 21:56:52 -03:00
Aymeric Augustin ae417dd4d5 Added release notes for 4b31a6a9.
Thanks Florian for reporting this omission.
2013-03-24 13:13:19 +01:00
Claude Paroz 76aecfbc4b Fixed #9055 -- Standardized behaviour of parameter escaping in db cursors
Previously, depending on the database backend or the cursor type,
you'd need to double the percent signs in the query before passing
it to cursor.execute. Now cursor.execute consistently need percent
doubling whenever params argument is not None (placeholder substitution
will happen).
Thanks Thomas Güttler for the report and Walter Doekes for his work
on the patch.
2013-03-23 17:11:10 +01:00
Tim Graham 93cffc3b37 Added missing markup to docs. 2013-03-22 13:50:07 -04:00
Aymeric Augustin 6197935152 Fixed #19968 -- Dropped support for PostgreSQL < 8.4. 2013-03-18 21:16:29 +01:00
Aymeric Augustin 5d8342f321 Proof-read and adjusted the transactions docs. 2013-03-13 15:17:41 +01:00
Aymeric Augustin 83a416f5e7 Made atomic usable when autocommit is off.
Thanks Anssi for haggling until I implemented this.

This change alleviates the need for atomic_if_autocommit. When
autocommit is disabled for a database, atomic will simply create and
release savepoints, and not commit anything. This honors the contract of
not doing any transaction management.

This change also makes the hack to allow using atomic within the legacy
transaction management redundant.

None of the above will work with SQLite, because of a flaw in the design
of the sqlite3 library. This is a known limitation that cannot be lifted
without unacceptable side effects eg. triggering arbitrary commits.
2013-03-13 15:17:40 +01:00
Aymeric Augustin e654180ce2 Improved the API of set_autocommit. 2013-03-11 15:10:58 +01:00
Aymeric Augustin 4dbd1b2dd8 Used commit_on_success_unless_managed to make ORM operations atomic. 2013-03-11 15:05:05 +01:00
Aymeric Augustin 107d9b1d97 Added an option to disable the creation of savepoints in atomic. 2013-03-11 15:05:04 +01:00
Aymeric Augustin 189fb4e294 Added a note about long-running processes.
There isn't much else to say, really.
2013-03-11 15:05:04 +01:00
Aymeric Augustin 17cf29920b Added an explanation of transactions and grouped low-level APIs. 2013-03-11 15:05:02 +01:00
Aymeric Augustin ffe41591e7 Updated the documentation for savepoints.
Apparently django.db.transaction used to be an object.
2013-03-11 15:04:10 +01:00
Aymeric Augustin ac37ed21b3 Deprecated TransactionMiddleware and TRANSACTIONS_MANAGED.
Replaced them with per-database options, for proper multi-db support.

Also toned down the recommendation to tie transactions to HTTP requests.
Thanks Jeremy for sharing his experience.
2013-03-11 15:04:05 +01:00
Aymeric Augustin 7c46c8d5f2 Added some assertions to enforce the atomicity of atomic. 2013-03-11 14:48:55 +01:00
Aymeric Augustin d7bc4fbc94 Implemented an 'atomic' decorator and context manager.
Currently it only works in autocommit mode.

Based on @xact by Christophe Pettus.
2013-03-11 14:48:55 +01:00
Aymeric Augustin 4b31a6a9e6 Added support for savepoints in SQLite.
Technically speaking they aren't usable yet.
2013-03-11 14:48:55 +01:00
Aymeric Augustin 5e27debc5c Enabled database-level autocommit for all backends.
This is mostly a documentation change.

It has the same backwards-incompatibility consequences as those
described for PostgreSQL in a previous commit.
2013-03-11 14:48:54 +01:00
Aymeric Augustin f515619494 Added an API to control database-level autocommit. 2013-03-11 14:48:53 +01:00
Loic Bistuer 6983a1a540 Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
Aymeric Augustin 97afc49bb0 Removed unnecessary imports. 2013-03-03 16:07:38 +01:00
Claude Paroz b0ba21db07 Fixed #19926 -- Fixed a link to code example in queries docs
Thanks Randy Salvo for the report.
2013-02-27 21:30:54 +01:00
Tim Graham cf890c110e Added an example of "default" database dictionary left blank; refs #19775.
Thanks wsmith323 for the patch.
2013-02-23 16:01:43 -05:00
Tim Graham 31bcb102b2 Fixed #19775 - Clarified requirements of the "default" database.
Thanks monkut for the report and wsmith323 for the patch.
2013-02-23 15:21:35 -05:00
Tim Graham 64d0f89ab1 Fixed #19717 - Removed mentions of "root QuerySet" in docs.
Thanks julien.aubert.mail@ for the report and James Pic for the patch.
2013-02-18 09:35:22 -05:00
Ramiro Morales 0560bfb705 Mention backward relationships in aggregate docs.
Thanks Anssi and Marc Tamlyn for reviewing.

Fixes #19803.
2013-02-12 09:36:29 -03:00
Tim Graham 43efefae69 Fixed #19756 - Corrected a ManyToMany example and added some links and markup. 2013-02-07 06:12:25 -05:00
Tim Graham 9b5f64cc6e Fixed #19516 - Fixed remaining broken links.
Added -n to sphinx builds to catch issues going forward.
2013-01-02 18:32:57 -05:00
Aymeric Augustin 7ee7599ab3 Removed versionadded/changed annotations dating back to 1.4. 2012-12-29 21:59:08 +01:00
Aymeric Augustin f27a4ee327 Removed django.contrib.localflavor.
Each localflavor lives on as a separate app.
2012-12-29 21:59:06 +01:00
Tim Graham 067505ad19 Fixed broken links, round 4. refs #19516 2012-12-29 15:54:33 -05:00
Preston Holmes 11ded967c4 Fixed #19498 -- refactored auth documentation
The auth doc was a single page which had grown unwieldy.
This refactor split and grouped the content into sub-topics.
Additional corrections and cleanups were made along the way.
2012-12-28 11:06:12 -08:00
Tim Graham b3a8c9dab8 Fixed broken links, round 3. refs #19516 2012-12-26 19:07:22 -05:00
Tim Graham 52a2588df6 Fixed #19506 - Remove 'mysite' prefix in model example.
Thanks Mike O'Connor for the report.
2012-12-21 15:52:06 -05:00
Tim Graham 31f49f1396 Fixed #19442 - Clarified that raw SQL must be committed.
Thanks startup.canada for the suggestion.
2012-12-18 08:10:12 -05:00
Russell Keith-Magee 1b646e656e Fixed #19384 -- Documented the behavior of custom managers on abstract models.
This documents the behavior introduced by cc337a74, which is BACKWARDS
INCOMPATIBLE for any attempt to invoke a method on a manager using the
abstract class as the calling class (e.g., AbstractBase.objects.do_something())

Thanks to mhsparks for the report.
2012-12-15 22:44:46 +08:00
Aymeric Augustin a001f3c31e Fixed #2304 -- Documented TRANSACTIONS_MANAGED. 2012-12-14 21:15:48 +01:00
Tim Graham ba2adc9c05 Fixed #19352 - Added an example in the QuerySet docs.
Thanks colinkeenan for the suggestion.
2012-11-27 18:21:55 -05:00
Aymeric Augustin 5c81e9de0f Negligible style fix in docs. 2012-11-23 20:40:42 +01:00
WoLpH eabb44417c changed if statement to a slightly cleaner/less confusing variant 2012-11-22 22:29:39 +01:00
Aymeric Augustin a026e480da Fixed #16039 -- Made post_syncdb handlers multi-db aware.
Also reverted 8fb7a90026. Refs #17055.
2012-11-22 20:53:59 +01:00
Tim Graham 620e0bba49 Fixed #19154 - Noted commit_manually requires commit/rollback for reads
Thanks als for the report.
2012-11-06 17:47:10 -05:00
Tim Graham feaf9f279a Fixed #15361 - Documented performance considerations for QuerySet.get()
Thanks mmcnickle for the patch.
2012-11-02 17:58:24 -04:00
Florian Apolloner b7d81715dc Removed a redundant colon in the query docs.
Thanks to Berker Peksag for the patch.
2012-10-27 21:21:33 +02:00
Tim Graham 5fb22329a1 Merge pull request #422 from elvard/18996
Fixed #18996 - Clarified overriden model methods not called on bulk operations
2012-10-12 16:45:45 -07:00
Tim Graham 6b56aeec6e Merge pull request #428 from donspaulding/patch-1
Removed extra indent in docs/topics/db/queries.txt
2012-10-11 16:19:32 -07:00
Tim Graham dd0cbc6bdc Fixed #16588 - Warned about field names that conflict with the model API 2012-10-11 18:05:12 -04:00
Anssi Kääriäinen b625e8272b Moved F() '&' and '|' to .bitand() and .bitor()
Done for consistency with Q() expressions and QuerySet combining. This
will allow usage of '&' and '|' as boolean logical operators in the
future. Refs #16211.
2012-10-10 01:15:29 +03:00
Anssi Kääriäinen a8b1861fc4 Revert "Fixed #16211 -- Added comparison and negation ops to F() expressions"
This reverts commit 28abf5f0eb.

Conflicts:

	docs/releases/1.5.txt
2012-10-10 01:15:29 +03:00
Tim Graham 6d46c740d8 Fixed #17435 - Clarified that QuerySet.update returns the number of rows matched 2012-10-06 07:03:20 -04:00
Don Spaulding 70fac984c8 Fixed format-o in docs/topics/db/queries.txt
It appears that our infamous villain, Significant Whitespace,
has struck again.

In this episode, little Timmy finds himself trapped in a
code well.  He need not despair, however, as Indentation Man
has heard his cries for help and sprung into action.

With his feline helper, Octocat, at his side, Indentation Man
races to the scene, flings open a web-based code editor, and with
terrific aplomb, frees Timmy to be the documentation he always
wanted to be.

Once again Goodness has prevailed.  In the fight for readable
documentation, no stray whitespace will ever be able to
withstand the str.strip()ing nature of....INDENTATION MAN.
2012-10-05 19:17:00 -05:00
Tomáš Ehrlich 443999a1ee Fixed #18996 - Docs on overriden model methods 2012-10-04 14:03:48 +02:00
Anssi Kääriäinen 28abf5f0eb Fixed #16211 -- Added comparison and negation ops to F() expressions
Work done by Walter Doekes and Trac alias knoeb. Reviewed by Simon
Charette.
2012-09-30 17:51:06 +03:00
Tim Graham 837425b425 Fixed #18934 - Removed versionadded/changed annotations for Django 1.3 2012-09-20 19:06:55 -04:00
James Bennett 5c5226a520 Fix typo: Non -> None 2012-09-08 16:14:13 -04:00
James Bennett 408c10e541 Untabify multi-db docs. 2012-09-08 16:08:01 -04:00
James Bennett 5d1f09f450 Ticket 18657: Fix inconsistent DB names in router example.
This rewrites the entire example to use the same DB names throughout,
and also is hopefully a bit more sensibly described. Additionally, the
missing import of the random module for choosing a read slave is
included in the example now.
2012-09-08 16:02:00 -04:00
Aymeric Augustin e69348b4e7 Avoided mixing dates and datetimes in the examples.
Refs #16023.
2012-09-08 11:00:04 -04:00