Coverage for ai_integration/signals.py: 76%
34 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-05 02:45 +0800
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-05 02:45 +0800
1"""
2Django signals for automatic embedding updates
3"""
4import logging
5from django.db.models.signals import post_save
6from django.dispatch import receiver
7from family.models import Story, Event, Heritage, Health
8from .services.embedding_service import embedding_service
10logger = logging.getLogger(__name__)
13@receiver(post_save, sender=Story)
14def update_story_embedding(sender, instance, created, **kwargs):
15 """Update embedding when Story is saved"""
16 try:
17 embedding_service.update_model_embedding(instance, force_update=created)
18 logger.info(f"Updated embedding for Story:{instance.id}")
19 except Exception as e:
20 logger.error(f"Failed to update Story embedding: {e}")
23@receiver(post_save, sender=Event)
24def update_event_embedding(sender, instance, created, **kwargs):
25 """Update embedding when Event is saved"""
26 try:
27 embedding_service.update_model_embedding(instance, force_update=created)
28 logger.info(f"Updated embedding for Event:{instance.id}")
29 except Exception as e:
30 logger.error(f"Failed to update Event embedding: {e}")
33@receiver(post_save, sender=Heritage)
34def update_heritage_embedding(sender, instance, created, **kwargs):
35 """Update embedding when Heritage is saved"""
36 try:
37 embedding_service.update_model_embedding(instance, force_update=created)
38 logger.info(f"Updated embedding for Heritage:{instance.id}")
39 except Exception as e:
40 logger.error(f"Failed to update Heritage embedding: {e}")
43@receiver(post_save, sender=Health)
44def update_health_embedding(sender, instance, created, **kwargs):
45 """Update embedding when Health record is saved"""
46 try:
47 embedding_service.update_model_embedding(instance, force_update=created)
48 logger.info(f"Updated embedding for Health:{instance.id}")
49 except Exception as e:
50 logger.error(f"Failed to update Health embedding: {e}")