Skip to main content

Manager for SQLAlchemy

Project description

Manager for model, methods added in runtime to query.

Installation

$ [sudo] pip install sqlalchemy-manager

Documentation

alchmanager.ManagedQuery

Manager for Query.

Example

from sqlalchemy.orm import sessionmaker

from alchmanager import ManagedQuery, ManagedSession


engine = create_engine('sqlite:///:memory:')
session = sessionmaker(query_cls=ManagedQuery,
                       bind=engine)()
Base = declarative_base()

class MainManager:

    @staticmethod
    def is_index(query):
        return query.filter_by(is_index=True)

    @staticmethod
    def is_public(query):
        return query.filter_by(is_public=True)

class Test(Base):
    id = Column(Integer, primary_key=True)
    is_public = Column(Boolean, default=False)
    is_index = Column(Boolean)

    __manager__ = MainManager

session.query(Video).is_index().filter_by(id=1).is_public()

alchmanager.ManagedSession

Manager for Session. Decorator load_manager() for register methods into session.

Example

from sqlalchemy.orm import sessionmaker
from alchmanager import ManagedQuery, ManagedSession

engine = create_engine('sqlite:///:memory:')
session = sessionmaker(class_=ManagedSession,
                       bind=engine)()


@session.load_manager()
class MainSessionManager:

    @staticmethod
    def published(query):
        return query.filter_by(is_public=True)

    @staticmethod
    def has_index(query):
        return query.filter_by(is_index=True)

session.query(TestModel).has_index().published().count()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sqlalchemy-manager, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size sqlalchemy-manager-0.0.2.tar.gz (2.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page