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