Move app.yaml to app.yaml.template and add app.yaml to svn:ignore in trunk/app.
Each Google App Engine instance needs its own "application:" ID, and this
should *not* be committed into the SoC SVN repository in trunk/app. (Individual
deployment branches *will* have app.yaml files with Google App Engine
application IDs in them, just not trunk/app.)
from django.db import transaction
class TransactionMiddleware(object):
"""
Transaction middleware. If this is enabled, each view function will be run
with commit_on_response activated - that way a save() doesn't do a direct
commit, the commit is done when a successful response is created. If an
exception happens, the database is rolled back.
"""
def process_request(self, request):
"""Enters transaction management"""
transaction.enter_transaction_management()
transaction.managed(True)
def process_exception(self, request, exception):
"""Rolls back the database and leaves transaction management"""
if transaction.is_dirty():
transaction.rollback()
transaction.leave_transaction_management()
def process_response(self, request, response):
"""Commits and leaves transaction management."""
if transaction.is_managed():
if transaction.is_dirty():
transaction.commit()
transaction.leave_transaction_management()
return response