如何使用文档映射类的ViewField将python couchdb中的视图同步到我的设计文档?

2024-09-27 23:16:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python couchdb库的文档映射类 但我发现这些文件非常不充分

它包括几行代码,说明如何在使用的Document子类上定义视图 但是这些文件并没有与COuchDB设计文档同步。 我尝试过在CouchDB design doc(通过Futon)和python类中用相同的代码编写相同的视图,但这并不能使它们同步。 我可以让视图在其他库中工作,比如couchquery 所以问题不在于观点本身 它们使用JavaScript或Python 不幸的是,我已经承诺使用文档子类来包含我希望与文档子类关联的功能。我还发现了其他一些有用的信息,说明如何使用a straight Doc类将视图同步到CouchDB,而不使用variuos字段类型提供的映射: Recommended approach for loading CouchDB design documents in Python? 在这里: http://markhaase.com/2012/06/23/couchdb-views-in-python/ 但是他们没有找到使用映射文档子类如何工作的文档

我使用了文档中描述的两种形式:

class Person(Document):
...     name = TextField()
...     age = IntegerField()
...     by_name = ViewField('people', '''\
...         function(doc) {
...             emit(doc.name, doc);
...         }''')

以及:

^{pr2}$

当视图被称为失败时,它的直接原因是: 检查Futon显示视图不在设计文档中

如果我通过各种方式在设计文档中创建视图,那么视图可以工作,但它不会连接到我的文档子类(本例中的Person类)。在

我想我希望这会让我感觉轻松多了 我已经尝试过使用couch查询来获得视图结果,并尝试将这些对象转换到python couchdb单独库中的DOcument子类中 但这看起来非常绝望和肮脏,我甚至无法在couch查询中轻松地获取字典信息。 如果有人能告诉我这是怎么回事,请告诉我。我怀疑有一个简单的答案在文档中完全没有,否则没有人会编写文档映射功能


Tags: 文件代码namein文档功能视图信息
1条回答
网友
1楼 · 发布于 2024-09-27 23:16:11

欢迎任何人为了社区的利益解决这些问题, 我的答案是转到CouchDBKit库,我建议其他人也这样做。 couchdb python与couchdb python有很多相似之处,包括我想要的映射功能,但是它是一个维护得更好的库,它有一个简单而强大的体系结构,与Django和FormAlchemy进行了一些很好的集成,还有一些额外的好处,比如在couchdb和文件系统之间切换,以及一个数据库更改侦听器。对于我的书来说,couchdb python没有couchdbkit没有的东西

相关问题 更多 >

    热门问题