Source code for apps.posts.signals
from contextlib import suppress
from django.db.models.signals import post_save, pre_delete
from django.dispatch import receiver
from elasticsearch import NotFoundError
from apps.posts.documents import PostDocument
from apps.posts.models import Post
[docs]
@receiver(post_save, sender=Post)
def index_post(sender, instance, **kwargs):
PostDocument().update(instance)
[docs]
@receiver(pre_delete, sender=Post)
def delete_post(sender, instance, **kwargs):
with suppress(NotFoundError):
PostDocument.get(id=instance.pk).delete(ignore=404)