Skip to main content

Adds convinient EnumDict column to sqlalchemy

Project description

Easy to Use

DeclarativeBase = declarative_base()
DeclarativeBase.query = dbsession.query_property()

class Item(DeclarativeBase):
    STATUS = EnumDictForInt.Enum(
        ('active', {
            'db': 0,
            'title': 'active',
            'other_useful_info': 'Info about active status',
        }),
        ('draft', {
            'db': 1,
            'title': 'draft',
            'other_useful_info': 'Info about draft status',
        }),
        ('deleted', {
            'db': 2,
            'title': 'deleted',
            'other_useful_info': 'Info about deleted status',
        }),
    )

    id = Column(Integer, primary_key=True)
    status = Column(EnumDictForInt(STATUS))

    @classmethod
    def condition_status_active(cls):
        return cls.status == cls.STATUS.active  # or cls.STATUS.active.db


item = Item.query.filter(Item.condition_status_active()).first()
item.status == Item.STATUS.active  # True
print item.status.db, item.status.title  # 0, 'active'

Easy to Install

$ pip install Sqlalchemy-Enum-Dict

Project details


Download files

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

Source Distribution

SQLAlchemy-Enum-Dict-0.1.2.tar.gz (4.7 kB view details)

Uploaded Source

File details

Details for the file SQLAlchemy-Enum-Dict-0.1.2.tar.gz.

File metadata

File hashes

Hashes for SQLAlchemy-Enum-Dict-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0a4173c2dc129840c144b348936add1cd6350e355e5cd20e378a36a5b3e0fa10
MD5 48c5290b0dab76d9837c7e88b3cdd9c4
BLAKE2b-256 cb17be7f7f012e978994964599b5a296920e92996a1c305f6e05c79d66e2c718

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page