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第三方库


热门话题
java HttpClient:禁用分块编码   java在Junit 4中构建测试套件   安卓 studio活动之间的java进度条   java从云Firestore获取地图数据   AmazonWebServices为什么JavaWebSocket服务器这么慢?   java My代码违反了DRY原则,但不确定如何进行重构   java在Eclipse动态Web项目中包含HTML文件   java检查首次启动安卓时是否在活动上单击了按钮   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   线程“main”java中的eclipse异常。lang.ClassNotFoundException:oracle。jdbc。OracleDriver Jdbctype4test。类型4测试。main(Type4test.java:21)   java如何将表单数据从HTML提交到某人的Skype帐户   java如何使用图形“g”?   java构建文件不是gradle中设置文件定义的构建的一部分   java用迭代优化HashMap   java在jsp中使用jstl访问结果集   java实现OOP中的等式优先度   java ChromeDriver组织。openqa。硒。遥远的协议握手会话   用Java程序读取Java的属性文件   java TabHost和Fonthouse图标   在Java中将灰度转换为颜色渐变?