我一直在学习Python并编写一些CouchDb教程。最新的获取couchdb托管DbaaS的方法看起来像Cloudant,因为其他方法已经关闭。
我在使用couchdbkit进行本地开发时取得了进展,它在模式包中有一个非常好的DAO映射器,而且标准的couchdb-python库也有一个类似的"映射"模块。
我在cloudant库中找不到这个功能——示例直接操作JSON——他们是否忽略了它,或者是否有批准的ODM库可以使用?
听起来你真正想问的是"如何将json文档转换为我自己的Python类"。客户端库(对于Cloudant(的作用是抽象掉锅炉板HTTP和json编码的东西,并为您留下漂亮的方法调用和json文档的本地(在Python中是dict
(表示。特别是在Python中,考虑到其出色的requests
库和流畅的json处理,大多数人可能甚至不会使用特定的客户端库。
将dict
转换为自己制作的类应该不难,或者需要一个库。Python 3.7:
from dataclasses import dataclass
@dataclass
class Employee:
name: str
department: str
code: int
和
import requests
from employee import Employee
doc = requests.get("https://acc.cloudant.com/employees/bobthebuilder").json()
employee = Employee(
name=doc.get("name", "n/a")
department=doc.get("department", "n/a")
code=doc.get("code", "n/a")
)