from haystack.sites import site from django.db.models import signals def add_to_search_index(sender, instance=None, **kwargs): try: index = site.get_index(instance.__class__) except: return index.backend.update(index, [instance]) signals.post_save.connect(add_to_search_index) def delete_from_search_index(sender, instance=None, **kwargs): try: index = site.get_index(instance.__class__) except: return index.backend.remove(instance) signals.post_delete.connect(delete_from_search_index)