diff --git a/symposion/proposals/managers.py b/symposion/proposals/managers.py deleted file mode 100644 index b908c7b68edacd41b8bde56e20b4b8053b4430b3..0000000000000000000000000000000000000000 --- a/symposion/proposals/managers.py +++ /dev/null @@ -1,27 +0,0 @@ -from django.db import models -from django.db.models.query import QuerySet - - -class CachingM2MQuerySet(QuerySet): - - def __init__(self, *args, **kwargs): - super(CachingM2MQuerySet, self).__init__(*args, **kwargs) - self.cached_m2m_field = kwargs["m2m_field"] - - def iterator(self): - parent_iter = super(CachingM2MQuerySet, self).iterator() - m2m_model = getattr(self.model, self.cached_m2m_field).through - - for obj in parent_iter: - if obj.id in cached_objects: - setattr(obj, "_cached_m2m_%s" % self.cached_m2m_field) - yield obj - - -class ProposalManager(models.Manager): - def cache_m2m(self, m2m_field): - return CachingM2MQuerySet(self.model, using=self._db, m2m_field=m2m_field) - AdditionalSpeaker = queryset.model.additional_speakers.through - additional_speakers = collections.defaultdict(set) - for additional_speaker in AdditionalSpeaker._default_manager.filter(proposal__in=queryset).select_related("speaker__user"): - additional_speakers[additional_speaker.proposal_id].add(additional_speaker.speaker) \ No newline at end of file