Potential fix for issue celery/django-celery#289. Use manual transactions and check for is_dirty().