|
@@ -161,8 +161,12 @@ managers, too.
|
|
|
transactions. It tells Django you'll be managing the transaction on your
|
|
|
own.
|
|
|
|
|
|
- If your view changes data and doesn't ``commit()`` or ``rollback()``,
|
|
|
- Django will raise a ``TransactionManagementError`` exception.
|
|
|
+ Whether you are writing or simply reading from the database, you must
|
|
|
+ ``commit()`` or ``rollback()`` explicitly or Django will raise a
|
|
|
+ :exc:`TransactionManagementError` exception. This is required when reading
|
|
|
+ from the database because ``SELECT`` statements may call functions which
|
|
|
+ modify tables, and thus it is impossible to know if any data has been
|
|
|
+ modified.
|
|
|
|
|
|
Manual transaction management looks like this::
|
|
|
|