SQLAlchemy的CRUD接口。
项目描述
sacrud
SACRUD将解决您为SQLAlchemy创建CRUD接口的问题。最初是为 pyramid_sacrud 创建的,但后来成为了一个独立的项目
看看它有多简单易用
创建
from .models import DBSession, Groups
from sacrud.action import CRUD
data = {'name': 'Electronics',
'parent_id': '10',}
group_obj = CRUD(DBSession, Groups).create(data)
print(group_obj.name)
如果条目已存在,只需添加选项 update=True 。
from .models import DBSession, Groups
from sacrud.action import CRUD
data = {'id': 6, # existing entry
'name': 'Electronics',
'parent_id': '10',}
group_obj = CRUD(DBSession, Groups).create(data, update=True)
print(group_obj.name)
读取
from .models import DBSession, Groups
from sacrud.action import CRUD
group_obj = CRUD(DBSession, Groups).read()
print(group_obj.name)
更新
from .models import DBSession, Groups
from sacrud.action import CRUD
group_obj = CRUD(DBSession, Groups).update(1, {'name': 'Chemistry'})
print(group_obj.name)
删除
from .models import DBSession, Groups
from sacrud.action import CRUD
CRUD(DBSession, Groups).delete(1)
多对多(M2M)和多对一(M2O)数据
对于添加m2m或m2o的多个数据,请使用结尾 [],例如。
from .models import DBSession, Users
from sacrud.action import CRUD
CRUD(DBSession, Users).create(
{'name': 'Vasya', 'sex': 1,
'groups[]': ['["id", 1]', '["id", 2]']}
)
它支持组合主键。
包装您的SQLAlchemy会话
from sqlalchemy.orm import scoped_session, sessionmaker
from sacrud import CRUDSession
Session = scoped_session(sessionmaker(class_=CRUDSession))
DBSession = Session()
DBSession.sacrud(User).delete(1)
包装您的zope.sqlalchemy会话
from sqlalchemy.orm import scoped_session, sessionmaker
from zope.sqlalchemy import ZopeTransactionExtension
from sacrud import crud_sessionmaker
DBSession = crud_sessionmaker(scoped_session(
sessionmaker(extension=ZopeTransactionExtension())))
DBSession.sacrud(User).delete(1)
现在,CRUD可以从DBSession中访问。
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。
许可证
本项目采用MIT许可协议。
项目详情
关闭
sacrud-0.3.7.post0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2701c6c840e49e883a6f09476015ee070c41c67e0cef087ec229ed42cf0aa70f |
|
MD5 | 598db2ac3d796bdbfa0179cfb6103339 |
|
BLAKE2b-256 | 1faac1d8f1af6227f9af767f96459e927ac0e2da272c321079879603d8d72c45 |