schon/evibes/signal_processors.py
Egor fureunoir Gorbunov 564ce0706b Features: Full Geo rework.
Fixes: 1) Address redundant migration logic by dropping stale migrations; 2) Cleanup swapper-based dependencies in Geo models;

Extra: Streamlined database initialization by resetting all previous migrations.
2025-05-19 14:45:53 +03:00

21 lines
1.1 KiB
Python

from django.db import models
from django_elasticsearch_dsl.registries import registry
from django_elasticsearch_dsl.signals import CelerySignalProcessor
class SelectiveSignalProcessor(CelerySignalProcessor):
def setup(self):
for doc in registry.get_documents():
model = doc.django.model
models.signals.post_save.connect(self.handle_save, sender=model, weak=False)
models.signals.post_delete.connect(self.handle_delete, sender=model, weak=False)
models.signals.pre_delete.connect(self.handle_pre_delete, sender=model, weak=False)
models.signals.m2m_changed.connect(self.handle_m2m_changed, sender=model, weak=False)
def teardown(self):
for doc in registry.get_documents():
model = doc.django.model
models.signals.post_save.disconnect(self.handle_save, sender=model)
models.signals.post_delete.disconnect(self.handle_delete, sender=model)
models.signals.pre_delete.disconnect(self.handle_pre_delete, sender=model)
models.signals.m2m_changed.disconnect(self.handle_m2m_changed, sender=model)