Skip to content

Algolia doesn't handle Django Atomic Transactions #278

@sameerkumar18

Description

@sameerkumar18
  • 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions