我想知道为什么couchdb.mapping.Document类的rev属性是只读属性。甚至可以设置id属性,我需要在我的项目中创建一个带有rev的新文档,该文档是从CouchDB视图中获得的。我知道rev是在CouchDB中生成的,但遗憾的是创建者没有预测到这样的异常。此外,在我看来,Document类应该有一个get方法,参数是: ids -它是文档的许多标识符。
@property
def rev(self):
"""The document revision.
:rtype: basestring
"""
if hasattr(self._data, 'rev'): # When data is client.Document
return self._data.rev
return self._data.get('_rev')发布于 2012-07-18 00:49:17
你说“我需要在我的项目中创建一个带有rev的新文档”,但是无论这在这个python库中是否可能,这在CouchDB本身都是不可能的,所以允许你在你的库中设置它不会对你的实际数据产生影响。
CouchDB中的_rev由CouchDB严格管理以解决冲突,您不能更改CouchDB将其设置为的值。( CouchDB允许您设置您喜欢的任何(唯一的) _id,这就是为什么它是python库中的一个可写字段)。
https://stackoverflow.com/questions/11524165
复制相似问题