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

如何使用文档映射类的ViewField将python couchdb中的视图同步到我的设计文档?,python,couchdb,couchdb-python,Python,Couchdb,Couchdb Python,我正在尝试为python couchdb库使用文档映射类 但我发现这些文件非常不充分 它包含了几行代码,介绍了如何在您使用的文档子类上定义视图 但是这些都没有与COuchDB设计文档同步。 我曾尝试在CouchDB设计文档(通过Futon)和python类中使用相同的代码编写相同的视图,但这不会使它们同步。 我能够让视图在其他库中工作,例如coach query 因此,问题不在于观点本身 它们在JavaScript或Python中工作 不幸的是,我已经承诺使用文档子类来包含我希望与文档子类关联的

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

它包含了几行代码,介绍了如何在您使用的文档子类上定义视图 但是这些都没有与COuchDB设计文档同步。 我曾尝试在CouchDB设计文档(通过Futon)和python类中使用相同的代码编写相同的视图,但这不会使它们同步。 我能够让视图在其他库中工作,例如coach query 因此,问题不在于观点本身 它们在JavaScript或Python中工作 不幸的是,我已经承诺使用文档子类来包含我希望与文档子类关联的功能。我还发现了关于如何在不使用variuos字段类型提供的映射的情况下,使用a straight Doc类将视图同步到CouchDB的其他有用信息: 在这里: 但是,对于如何使用MappingDocument子类实现这一点,还没有找到他们的文档

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

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

调用视图时,它会失败,并且它会立即失效。原因是: 检查Futon表明该视图不在设计文档中

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

我想我希望这会让我感觉更放松 我曾经想过使用coach查询来获取视图结果,并尝试在单独的库python couchdb中将这些对象重新命名为我的文档子类 但这看起来非常绝望和肮脏,我甚至无法轻松访问沙发查询中的字典信息。
如果有人能告诉我这是怎么回事,请告诉我。我怀疑文档中完全没有一个简单的答案,否则没有人会编写文档映射功能

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

class Person(Document):
...     name = TextField()
...     age = IntegerField()
...
...     @ViewField.define('people')
...     def by_name(doc):
...         yield doc['name'], doc ( for Python views ):