Add trigger to update Whoosh index on User update

This commit is contained in:
Skia 2017-02-15 22:01:33 +01:00
parent 494062fbbe
commit 318c9ff9ad
2 changed files with 17 additions and 1 deletions

View File

@ -1,4 +1,6 @@
from haystack import indexes from django.db import models
from haystack import indexes, signals
from core.models import User from core.models import User
@ -15,3 +17,15 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable):
def get_updated_field(self): def get_updated_field(self):
return "last_update" return "last_update"
class UserOnlySignalProcessor(signals.BaseSignalProcessor):
def setup(self):
# Listen only to the ``User`` model.
models.signals.post_save.connect(self.handle_save, sender=User)
models.signals.post_delete.connect(self.handle_delete, sender=User)
def teardown(self):
# Disconnect only for the ``User`` model.
models.signals.post_save.disconnect(self.handle_save, sender=User)
models.signals.post_delete.disconnect(self.handle_delete, sender=User)

View File

@ -153,6 +153,8 @@ HAYSTACK_CONNECTIONS = {
}, },
} }
HAYSTACK_SIGNAL_PROCESSOR = 'core.search_indexes.UserOnlySignalProcessor'
WSGI_APPLICATION = 'sith.wsgi.application' WSGI_APPLICATION = 'sith.wsgi.application'