如何使用python-cloudant进行对象映射

时间:2018-08-02 14:10:09

标签: python couchdb dao cloudant odm

我一直在学习Python并研究一些CouchDb教程。由于其他方法已关闭,因此获取由Couchdb托管的DbaaS的最新方法类似于Cloudant。

我在使用ouchdbkit进行本地开发方面取得了进展,该文件在模式包中有一个非常不错的DAO映射器,并且标准的ouchdb-python库还有一个“映射”模块,其工作原理非常类似。

我在cloudant库中找不到此功能-示例直接在操作JSON-是否已将其遗漏了?或者是否有经过批准的ODM库可供使用?

1 个答案:

答案 0 :(得分:2)

听起来您真正要问的是“如何将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")
)