quick_orm Python ORM 框架

我要开发同款
匿名用户2012年04月21日
105阅读

技术信息

授权协议
BSD

作品详情

quick_orm是一个Pytho的ORM框架.安装和使用超级简单,可以一分钟上手!基于SQLAlchemy构建,在功能上是SQLAlchemy的超集.quick_orm最大的特点是以非常简单易学易用的形式提供了完备强大的功能.

 

安装

pipistallquick_orm

 

HelloWorld示例

fromquick_orm.coreimportDatabasefromsqlalchemyimportColum,Strig__metaclass__=Database.DefaultMetaclassUser:ame=Colum(Strig(30))Database.register()if__ame__=='__mai__':db=Database('sqlite://')#databaseurls:https://docs.sqlalchemy.org/e/latest/core/egies.html#database-urlsdb.create_tables()#createtables,youdo'thavetowriteaySQL.user=User(ame='HelloWorld')db.sessio.add_the_commit(user)#commitusertodatabase.user=db.sessio.query(User).get(1)prit'Myameis',user.ameprit'created_at',user.created_at#created_atadupdated_attimestampsareaddedautomatically.prit'updated_at',user.updated_atuser.ame='TylerLog'db.sessio.commit()#commitchagestodatabase.prit'Myameis',user.ameprit'created_at',user.created_atprit'updated_at',user.updated_at

 

问答网站数据建模示例

fromquick_orm.coreimportDatabasefromsqlalchemyimportColum,Strig,Text__metaclass__=Database.DefaultMetaclassUser:ame=Colum(Strig(70))@Database.may_to_oe(User)classPost:cotet=Colum(Text)classQuestio(Post):title=Colum(Strig(70))@Database.may_to_oe(Questio)classAswer(Post):pass@Database.may_to_oe(Post)classCommet(Post):pass@Database.may_to_may(Post)classTag:ame=Colum(Strig(70))Database.register()#以上是建模部分,下面是如何使用数据模型if__ame__=='__mai__':db=Database('sqlite://')db.create_tables()user1=User(ame='TylerLog')user2=User(ame='PeterLau')tag1=Tag(ame='quick_orm')tag2=Tag(ame='ice')questio=Questio(user=user1,title='Whatisquick_orm?',cotet='Whatisquick_orm?',tags=[tag1,])questio2=Questio(user=user1,title='Haveyoutriedquick_orm?',cotet='Haveyoutriedquick_orm?',tags=[tag1,])aswer=Aswer(user=user1,questio=questio,tags=[tag1,],cotet='quick_ormisaPythoORMframeworkwhicheablesyoutogetstartedilessthaamiute!')commet1=Commet(user=user2,cotet='goodquestio',post=questio)commet2=Commet(user=user2,cotet='iceaswer',post=aswer,tags=[tag2,])db.sessio.add_all_the_commit([questio,questio2,aswer,commet1,commet2,tag1,tag2,])questio=db.sessio.query(Questio).get(1)prit'tagsforquestio"{0}":"{1}"'.format(questio.title,','.joi(tag.amefortagiquestio.tags))prit'ewcommetforquestio:',questio.commets.first().cotetprit'ewcommetforaswer:',questio.aswers.first().commets.first().cotetuser=db.sessio.query(User).filter_by(ame='PeterLau').oe()prit'PeterLauhasposted{0}commets'.format(user.commets.cout())tag=db.sessio.query(Tag).filter_by(ame='quick_orm').first()prit'{0}questiosaretagged"quick_orm"'.format(tag.questios.cout())

功能介绍

quick_orm 是一个 Python 的 ORM 框架. 安装和使用超级简单, 可以一分钟上手! 基于SQLAlchemy构建, 在功能上是SQLAlchemy的超集. quick_orm ...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论