如何使用 python-cloudant 进行对象映射
How to do object mapping using python-cloudant
我一直在学习 Python 和一些 CouchDb 教程。获取 couchdb 托管 DbaaS 的最新方法看起来像 Cloudant,因为其他方法已经关闭。
我使用 couchdbkit 在本地开发取得了进展,它在模式包中有一个非常好的 DAO 映射器,而且标准的 couchdb-python 库有一个 "mapping" 模块,它的工作方式很像那。
我在 cloudant 库中找不到此功能 - 示例正在直接操作 JSON - 他们是否遗漏了它,或者是否有经批准的 ODM 库可供使用?
听起来你真正想问的是 "how do I convert a json document to my own Python class"。客户端库(对于 Cloudant)的作用是抽象出样板式 HTTP 和 json 编码内容,并为您提供良好的方法调用和本地(在 Python 中 dict
) json 文档的表示。特别是在 Python 中,鉴于其出色的 requests
库和灵活的 json 处理,大多数人可能甚至不会费心使用特定的客户端库。
将 dict
转换为您自己制作的 class 应该不难,或者需要一个库。 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")
)
我一直在学习 Python 和一些 CouchDb 教程。获取 couchdb 托管 DbaaS 的最新方法看起来像 Cloudant,因为其他方法已经关闭。
我使用 couchdbkit 在本地开发取得了进展,它在模式包中有一个非常好的 DAO 映射器,而且标准的 couchdb-python 库有一个 "mapping" 模块,它的工作方式很像那。
我在 cloudant 库中找不到此功能 - 示例正在直接操作 JSON - 他们是否遗漏了它,或者是否有经批准的 ODM 库可供使用?
听起来你真正想问的是 "how do I convert a json document to my own Python class"。客户端库(对于 Cloudant)的作用是抽象出样板式 HTTP 和 json 编码内容,并为您提供良好的方法调用和本地(在 Python 中 dict
) json 文档的表示。特别是在 Python 中,鉴于其出色的 requests
库和灵活的 json 处理,大多数人可能甚至不会费心使用特定的客户端库。
将 dict
转换为您自己制作的 class 应该不难,或者需要一个库。 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")
)