def on_after_delete(mapper, connection, target): from nefertari.elasticsearch import ES request = getattr(target, '_request', None) model_cls = target.__class__ es = ES(model_cls.__name__) obj_id = getattr(target, model_cls.pk_field()) es.delete(obj_id, request=request) es.index_relations(target, request=request)
def on_after_delete(mapper, connection, target): from nefertari.elasticsearch import ES model_cls = target.__class__ es = ES(model_cls.__name__) obj_id = getattr(target, model_cls.pk_field()) es.delete(obj_id) target.expire_parents() es.index_relations(target)
def on_post_save(sender, document, **kw): """ Add new document to index or update existing. """ from nefertari.elasticsearch import ES common_kw = {'request': getattr(document, '_request', None)} created = kw.get('created', False) if created: es = ES(document.__class__.__name__) es.index(document.to_dict(), **common_kw) elif not created and document._get_changed_fields(): es = ES(document.__class__.__name__) es.index(document.to_dict(), **common_kw) es.index_relations(document, nested_only=True, **common_kw)
def index_object(obj, with_refs=True, **kwargs): from nefertari.elasticsearch import ES es = ES(obj.__class__.__name__) es.index(obj.to_dict(), **kwargs) if with_refs: es.index_relations(obj, **kwargs)
def index_object(obj, with_refs=True, **kwargs): es = ES(obj.__class__.__name__) es.index(obj, **kwargs) if with_refs: es.index_relations(obj, **kwargs)