def set_quota(quotas): holding_keys = [key for (key, limit) in quotas] holdings = _get_holdings_for_update(holding_keys) for key, limit in quotas: try: h = holdings[key] except KeyError: holder, source, resource = key h = Holding(holder=holder, source=source, resource=resource) h.limit = limit h.save() holdings[key] = h