0

我想知道为什么 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')
4

1 回答 1

1

你说“我需要在我的项目中创建一个带有 rev 的新文档”,但是无论这在这个 python 库中是否可能,这在 CouchDB 本身中是不可能的,所以允许你在你的库中设置它对你的实际数据。

CouchDB 中的_revCouchDB 由 CouchDB 严格管理以解决冲突,您不能从 CouchDB 设置的值更改它。(FWIW,CouchDB 允许您设置任何(唯一)_id您喜欢的,这就是为什么这是您的 python 库中的可写字段)。

于 2012-07-17T16:49:16.950 回答