sqlalchemy的crud接口。

sacrud的Python项目详细描述


Build StatusCoverage StatusStories in ProgressPyPI

萨克鲁德

sacrud将为sqlalchemy解决crud接口的问题。 最初是为 pyramid_sacrud ,但在另一个项目中

看看它是多么容易使用:

创建

from.modelsimportDBSession,Groupsfromsacrud.actionimportCRUDdata={'name':'Electronics','parent_id':'10',}group_obj=CRUD(DBSession,Groups).create(data)print(group_obj.name)

如果条目已经存在,只需添加选项^ {TT1}$。

from.modelsimportDBSession,Groupsfromsacrud.actionimportCRUDdata={'id':6,# existing entry'name':'Electronics','parent_id':'10',}group_obj=CRUD(DBSession,Groups).create(data,update=True)print(group_obj.name)

读取

from.modelsimportDBSession,Groupsfromsacrud.actionimportCRUDgroup_obj=CRUD(DBSession,Groups).read()print(group_obj.name)

更新

from.modelsimportDBSession,Groupsfromsacrud.actionimportCRUDgroup_obj=CRUD(DBSession,Groups).update(1,{'name':'Chemistry'})print(group_obj.name)

删除

from.modelsimportDBSession,Groupsfromsacrud.actionimportCRUDCRUD(DBSession,Groups).delete(1)

M2M和M2O数据

要为M2M或M2O添加多个数据,请使用endinng[],例如:

from.modelsimportDBSession,Usersfromsacrud.actionimportCRUDCRUD(DBSession,Users).create({'name':'Vasya','sex':1,'groups[]':['["id", 1]','["id", 2]']})

它支持复合主键。

包装您的sqlalchemy会话

fromsqlalchemy.ormimportscoped_session,sessionmakerfromsacrudimportCRUDSessionSession=scoped_session(sessionmaker(class_=CRUDSession))DBSession=Session()DBSession.sacrud(User).delete(1)

包装您的zope.sqlalchemy会话

fromsqlalchemy.ormimportscoped_session,sessionmakerfromzope.sqlalchemyimportZopeTransactionExtensionfromsacrudimportcrud_sessionmakerDBSession=crud_sessionmaker(scoped_session(sessionmaker(extension=ZopeTransactionExtension())))DBSession.sacrud(User).delete(1)

现在可以从dbsession获得crud。

group_obj=DBSession.sacrud(Groups).create(data)print(group_obj.name)

安装

从github安装:

pip install git+http://github.com/sacrud/sacrud.git

PyPi公司:

pip install sacrud

来源:

python setup.py install

支持

如果你有问题,请告诉我。我有一个邮件列表 位于sacrud@uralbash.ru和IRC通道#sacrud

许可证

这个项目是根据麻省理工学院的许可证授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在ElasticSearch中将SearchHit转换为Java对象   第三方库类的java重写XmlAdapter   java如何使用动画类获得平滑的动画效果?   Java PDFBox如果文本内容超过PDF的第一页,如何添加新页面?   Java二叉搜索树u根到最近叶的距离   java什么是diff Scanner和BufferedReader   java如何设计不生成并行数组的程序   java多次声明变量会降低执行速度吗?   java如何使用JXLAPI读取下拉列表的值   多线程为什么自定义阻塞队列在Java中不是线程安全的   java在一个变量中每输入1000个单位,就从另一个变量中减去1?   java Mapstruct通用映射器   Java中的类能否确定它是否已被修改?   java如何在MogoOperations聚合函数中定义输出类型?