db_mgr.py
888 Bytes
from pprint import pprint
from app.models import db, Agent, Charge
def agents():
all_agents = [a.firstname for a in Agent.query.all()]
return all_agents
def charges_by_agent(agent_id):
# all_charges = db.session.query(Charge).all()
periods = db.session.execute("select name from period")
sql_txt = "select p.name, sum(charge_rate) from charge inner join period p on charge.period_id = p.id\
where agent_id={} group by period_id order by p.name" \
.format(agent_id)
request = db.session.execute(sql_txt)
all_charges = []
charges_list = [(period, charge) for (period, charge) in request.fetchall()]
charges_dict = dict(charges_list)
for (p,) in periods:
if p in charges_dict.keys():
all_charges.append([p, charges_dict[p]])
else:
all_charges.append([p, 0])
return all_charges