Revision f7b7da5d snf-astakos-app/astakos/quotaholder_app/callpoint.py
b/snf-astakos-app/astakos/quotaholder_app/callpoint.py | ||
---|---|---|
69 | 69 |
|
70 | 70 |
|
71 | 71 |
def _get_holdings_for_update(holding_keys): |
72 |
holding_keys = sorted(holding_keys) |
|
72 |
holders = set(holder for (holder, source, resource) in holding_keys) |
|
73 |
objs = Holding.objects |
|
74 |
hs = objs.filter(holder__in=holders).order_by('pk').select_for_update() |
|
75 |
|
|
73 | 76 |
holdings = {} |
74 |
for (holder, source, resource) in holding_keys: |
|
75 |
try: |
|
76 |
h = Holding.objects.get_for_update( |
|
77 |
holder=holder, source=source, resource=resource) |
|
78 |
holdings[(holder, source, resource)] = h |
|
79 |
except Holding.DoesNotExist: |
|
80 |
pass |
|
77 |
for h in hs: |
|
78 |
key = h.holder, h.source, h.resource |
|
79 |
holdings[key] = h |
|
80 |
|
|
81 | 81 |
return holdings |
82 | 82 |
|
83 | 83 |
|
Also available in: Unified diff