Revision f7b7da5d

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