In [1]:
from sqlalchemy import func
from raspapreco.models.models import (Base, Dossie, MySession, Procedimento,
                                      Produto, ProdutoEncontrado, Site)

In [2]:
mysession = MySession(Base)
session = mysession.session()
engine = mysession.engine()

In [15]:
session.query(func.count(ProdutoEncontrado.id)). \
    filter(ProdutoEncontrado.produto_id == 1). \
    filter(ProdutoEncontrado.dossie_id == 3).all()


Out[15]:
[(45)]

In [5]:
q = session.query(ProdutoEncontrado.produto_id,
                  ProdutoEncontrado.site_id,
                  func.avg(ProdutoEncontrado.preco)). \
    group_by(ProdutoEncontrado.produto_id, ProdutoEncontrado.site_id)

In [6]:
q.all()


Out[6]:
[(1, 1, 62.46225000000003), (2, 1, 306.25934659090865)]

In [7]:
q = session.query(ProdutoEncontrado.produto_id,               
                  func.avg(ProdutoEncontrado.preco)). \
    group_by(ProdutoEncontrado.produto_id)

In [8]:
q.all()


Out[8]:
[(1, 62.46225000000003), (2, 306.25934659090865)]

In [21]:
session.query(func.avg(ProdutoEncontrado.preco)). \
    filter(ProdutoEncontrado.produto_id == 1 and ProdutoEncontrado.site.id == 1).scalar()


Out[21]:
62.46225000000003

In [ ]:


In [ ]:


In [ ]: