从@dataclass生成***sql***和***nosql***数据库模型
dataclassdb的Python项目详细描述
数据类数据库
从@dataclass生成sql和nosql数据库模型
文档:https://dutradda.github.io/dataclassdb
源代码:https://github.com/dutradda/dataclassdb
主要功能
具有持久性的快速启动数据建模
支持从简单的数据库模式到复杂的数据库模式
与集成:
SQLALchemy
aioredis
(soon)google-datastore
(soon)mongodb
(planned)elasticsearch
(planned)aws-dynamodb
(planned)
与存储库类的
SQLAlchemy.Session
接口相同与其他数据源轻松集成
使用redis数据结构(如散列、集合、列表等)存储对象
要求
Python3.7+
安装
$ pip install dataclassdb
用法示例
fromdataclassdbimportRepositoriesFactory,DataSourceTypefromdataclassesimportdataclass@dataclassclassAddress:street:str@dataclassclassPerson:name:strage:intaddress:AddressAdressRepository,PersonRepostiory=RepositoriesFactory.make(Address,Person,data_source=DataSourceType.RELATIONAL_SQLALCHEMY,data_source_args=dict(db_url='sqlite://',create=True,all_backref=True,))person=Person(name='John',age=78,address=Address("john's street"))PersonRepository().add(person,commit=True)addresses=AddressRepository().filter(street="john's street").all()print(addresses)
[ Address(street="john's street", _id=1, backrefs=Backrefs(person=[Person(age=78, name=John, _id=1)]))]
详细的使用和说明正在进行中。