https://github.com/manicmaniac/sqlalchemy-repr
Automatically generates pretty `repr` of a SQLAlchemy model.
https://github.com/manicmaniac/sqlalchemy-repr
Last synced: 3 months ago
JSON representation
Automatically generates pretty `repr` of a SQLAlchemy model.
- Host: GitHub
- URL: https://github.com/manicmaniac/sqlalchemy-repr
- Owner: manicmaniac
- License: mit
- Created: 2016-06-15T16:10:21.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-09-03T22:14:57.000Z (9 months ago)
- Last Synced: 2025-02-26T14:10:05.505Z (3 months ago)
- Language: Python
- Size: 25.4 KB
- Stars: 35
- Watchers: 3
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
sqlalchemy-repr
===============.. image:: https://travis-ci.org/manicmaniac/sqlalchemy-repr.svg?branch=master
:target: https://travis-ci.org/manicmaniac/sqlalchemy-reprAutomatically generates pretty ``repr`` of a SQLAlchemy model.
Install
-------.. code:: sh
pip install sqlalchemy-repr
Usage
-----.. code:: python
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy_repr import RepresentableBaseBase = declarative_base(cls=RepresentableBase)
Example
-------``sqlalchemy_repr.RepresentableBase`` is mixin to add simple representation of columns.
.. code:: python
>>> from datetime import datetime
>>> from sqlalchemy import Column, DateTime, Integer, Unicode, create_engine
>>> from sqlalchemy.ext.declarative import declarative_base
>>> from sqlalchemy.orm import sessionmaker
>>> from sqlalchemy_repr import RepresentableBase>>> Base = declarative_base(cls=RepresentableBase)
>>> class User(Base):
... __tablename__ = 'users'
... id = Column(Integer, primary_key=True)
... name = Column(Unicode(255), nullable=False, unique=True)
... created = Column(DateTime, nullable=False)>>> engine = create_engine('sqlite://')
>>> Base.metadata.create_all(engine)>>> Session = sessionmaker(bind=engine)
>>> session = Session()>>> user = User(name='spam', created=datetime(2016, 6, 1))
>>> session.add(user)
>>> session.commit()>>> print(user)
``sqlalchemy_repr.PrettyRepresentableBase`` brings pretty, indented multi-line representation.
.. code:: python
>>> from sqlalchemy_repr import PrettyRepresentableBase
>>> Base = declarative_base(cls=PrettyRepresentableBase)>>> class User(Base):
... __tablename__ = 'users'
... id = Column(Integer, primary_key=True)
... first_name = Column(Unicode(255), nullable=False, unique=True)
... last_name = Column(Unicode(255), nullable=False, unique=True)
... email = Column(Unicode(255), nullable=False)
... created = Column(DateTime, nullable=False)
... modified = Column(DateTime, nullable=False)>>> engine = create_engine('sqlite://')
>>> Base.metadata.create_all(engine)>>> Session = sessionmaker(bind=engine)
>>> session = Session()>>> user = User(first_name='spam', last_name='ham', email='[email protected]', created=datetime(2016, 6, 1), modified=datetime(2016, 6, 1))
>>> session.add(user)
>>> session.commit()>>> print(user)