improve perf + log

sync3
Laurent 5 months ago
parent 9b739c85a2
commit fc21dc2b93
  1. 7
      sync/models/data_access.py

@ -1,8 +1,8 @@
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
# from django.apps import apps
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.conf import settings from django.conf import settings
from django.db import transaction
from ..registry import model_registry from ..registry import model_registry
import uuid import uuid
@ -71,7 +71,10 @@ class DataAccess(BaseModel):
obj = model_class.objects.get(id=self.model_id) obj = model_class.objects.get(id=self.model_id)
related_instance = obj.related_instances() related_instance = obj.related_instances()
related_instance.append(obj) related_instance.append(obj)
with transaction.atomic():
for instance in related_instance: for instance in related_instance:
logger.info(f'adds DataAccess to {instance.__class__.__name__}')
if isinstance(instance, BaseModel): if isinstance(instance, BaseModel):
instance.add_data_access_relation(self) instance.add_data_access_relation(self)
instance.save() instance.save()
@ -85,6 +88,8 @@ class DataAccess(BaseModel):
obj = model_class.objects.get(id=self.model_id) obj = model_class.objects.get(id=self.model_id)
related_instance = obj.related_instances() related_instance = obj.related_instances()
related_instance.append(obj) related_instance.append(obj)
with transaction.atomic():
for instance in related_instance: for instance in related_instance:
if isinstance(instance, BaseModel): if isinstance(instance, BaseModel):
instance.remove_data_access_relation(self) instance.remove_data_access_relation(self)

Loading…
Cancel
Save