Revision 8acd9708 snf-quotaholder-app/quotaholder_django/quotaholder_app/callpoint.py

b/snf-quotaholder-app/quotaholder_django/quotaholder_app/callpoint.py
140 140
        entities = []
141 141
        append = entities.append
142 142

  
143
        names = [entity for entity, key in get_entity]
144
        es = Entity.objects.select_related(depth=1).filter(entity__in=names)
145
        data = {}
146
        for e in es:
147
            data[e.entity] = e
148

  
143 149
        for entity, key in get_entity:
144
            try:
145
                e = Entity.objects.get(entity=entity, key=key)
146
            except Entity.DoesNotExist:
150
            e = data.get(entity, None)
151
            if e is None or e.key != key:
147 152
                continue
148

  
149 153
            append((entity, e.owner.entity))
150 154

  
151 155
        return entities
......
445 449
        quotas = []
446 450
        append = quotas.append
447 451

  
452
        entities = set(e for e, r, k in get_quota)
453
        hs = Holding.objects.select_related().filter(entity__in=entities)
454
        holdings = {}
455
        for h in hs:
456
            holdings[(h.entity_id, h.resource)] = h
457

  
448 458
        for entity, resource, key in get_quota:
449 459
            try:
450
                h = Holding.objects.get(entity=entity, resource=resource)
451
            except Holding.DoesNotExist:
460
                h = holdings[(entity, resource)]
461
            except:
452 462
                continue
453 463

  
454 464
            if h.entity.key != key:

Also available in: Unified diff