views:

57

answers:

1

I recently upgraded to the most recent version of sqlalchemy and some of my code no longer works. I'm having difficulty finding how to fix it and could use a hand.

Previously the query appeared as so.

self.db.query(Drive).filter(Drive.package_id==package.package_id)\
    .filter(Drive.wipe_end!=None).sum(Drive.wipe_end - Drive.wipe_start)

this worked before to retrieve the sum of some durations but now I get the following error:

'Query' object has no attribute 'sum'

Any googling I do gets me information that is several years old.

+1  A: 

I believe you need the sum() function in the "func" package:

from sqlalchemy import func
cursor = self.db.query(func.sum(Drive.wipe_end - Drive.wipe_start)).filter(Drive.package_id==package.package_id).filter(Drive.wipe_end!=None)
total = cursor.scalar()
sunetos