diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt
index 4a52c5a..3c0ec4f 100644
--- a/docs/topics/db/transactions.txt
+++ b/docs/topics/db/transactions.txt
@@ -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::
 
