__init__.py 739 Bytes
from sqlalchemy.orm import (
    sessionmaker,
    scoped_session,
    )
from sqlalchemy.ext.declarative import declarative_base
import zope.sqlalchemy


session_factory = sessionmaker()
DBSession = scoped_session(session_factory)
zope.sqlalchemy.register(DBSession)

Base = declarative_base()


class CommonModel(object):
    def to_dict(self):
        values = {}
        for column in self.__table__.columns:
            values[column.name] = getattr(self, column.name)
        return values

    def to_dict_without_none(self):
        values = {}
        for column in self.__table__.columns:
            val = getattr(self, column.name)
            if val is not None:
                values[column.name] = val
        return values