Coverage for apis_core/apis_relations/signals.py: 44%
18 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-16 07:42 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-16 07:42 +0000
1import logging
3from django.dispatch import receiver
5from apis_core.apis_metainfo.models import RootObject
6from apis_core.apis_metainfo.signals import post_duplicate
7from apis_core.apis_relations.models import TempTriple
9logger = logging.getLogger(__name__)
12@receiver(post_duplicate)
13def copy_relations(sender, instance, duplicate, **kwargs):
14 logger.info(f"Copying relations from {instance} to {duplicate}")
15 if isinstance(instance, RootObject):
16 for rel in TempTriple.objects.filter(subj=instance):
17 newrel = rel.duplicate()
18 newrel.subj = duplicate
19 newrel.save()
20 for rel in TempTriple.objects.filter(obj=instance):
21 newrel = rel.duplicate()
22 newrel.obj = duplicate
23 newrel.save()