-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Labels
Description
- Django version: 2.0.6
- Algolia Django integration version: 1.7.0
- Language Version: Python 3.6.5
Consider - Auto-Index to be True
Description
While in a Django atomic transaction, if anytime save() is called - algolia is instantly updated. If due to some exception that atomic transaction fails, Algolia would still be updated with invalid values that do not match the database.
Steps To Reproduce
Step 1 - Import your model from app, import django transaction
>>> from myapp import mymodel
>>> from django import transaction
Step 2 - Start a transaction
// Consider there is boolean field status
in model mymodel
>>> with transaction.atomic():
obj = mymodel.objects.first()
obj.status = False
obj.save() # Algolia gets updated here
raise Exception('something here') # This cancels/doesn't commit anything to the database