Force Django to commit
You can use the commit_manually
decorator and call it whenever you want.
Straight from the documentation:
from django.db import transaction
@transaction.commit_manually
def viewfunc(request):
...
# You can commit/rollback however and whenever you want
transaction.commit()
...
# But you've got to remember to do it yourself!
try:
...
except:
transaction.rollback()
else:
transaction.commit()
This answers the question you asked, though I wonder if there might be something else at work.
NOTE: commit_manually
was deprecated in 1.6 and removed in 1.8.