自动生成sqlalchemy模型的pretty repr。
sqlalchemy-repr的Python项目详细描述
自动生成sqlalchemy模型的repr。
安装
pip install sqlalchemy-repr
用法
fromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemy_reprimportRepresentableBaseBase=declarative_base(cls=RepresentableBase)
示例
用于添加列的简单表示形式是。>>>fromdatetimeimportdatetime>>>fromsqlalchemyimportColumn,DateTime,Integer,Unicode,create_engine>>>fromsqlalchemy.ext.declarativeimportdeclarative_base>>>fromsqlalchemy.ormimportsessionmaker>>>fromsqlalchemy_reprimportRepresentableBase>>>Base=declarative_base(cls=RepresentableBase)>>>classUser(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)<Userid=1,name='spam',created=datetime.datetime(2016,6,1,0,0)>
sqlalchemy_repr.PrettyRepresentableBase带来了漂亮的缩进多行表示。
>>>fromsqlalchemy_reprimportPrettyRepresentableBase>>>Base=declarative_base(cls=PrettyRepresentableBase)>>>classUser(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='spam@example.com',created=datetime(2016,6,1),modified=datetime(2016,6,1))>>>session.add(user)>>>session.commit()>>>print(user)<Userid=1,first_name='spam',last_name='ham',email='spam@example.com',created=datetime.datetime(2016,6,1,0,0),modified=datetime.datetime(2016,6,1,0,0)>