from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, Numeric from sqlalchemy.ext.hybrid import hybrid_property from sqlalchemy import create_engine from sqlalchemy.orm import Session Base = declarative_base() class BankAccount(Base): __tablename__ = 'bank_account' id = Column(Integer, primary_key=True) balance = Column(Numeric) pending = Column(Numeric) @hybrid_property def total(self): return self.balance + self.pending print BankAccount(balance=1000, pending=500).total engine = create_engine('sqlite://', echo=True) Base.metadata.create_all(engine) session = Session(engine) session.add_all([ BankAccount(balance=4000, pending=500), BankAccount(balance=10000, pending=0), ]) session.commit() print session.query(BankAccount.total).filter(BankAccount.total.between(3000, 5000)).all() myaccount = session.query(BankAccount).first() print myaccount.total