0
我想知道爲什麼couchdb.mapping.Document類的rev屬性是隻讀屬性。即使id屬性可以設置,我需要在我的項目中創建一個新的文檔與rev,我從CouchDB視圖獲得。我知道在CouchDB中生成了這個版本,但可惜創作者沒有預測到這種異常。此外,我認爲應該有一個帶有參數的Document類的get方法:ids - 它是許多文檔的標識符。couchdb-python:couchdb.mapping.Document類的rev屬性是隻讀的
@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')
我想處理異常。當我設置_rev並想要更新文檔時,如果提供的文檔_rev與實際文檔不同,這意味着我想更新廢棄版本的文檔,因此會引發ResourceConflict異常,並且我可以處理它。在這種情況下,我不必事先檢查文檔的版本,我會更新文檔(但最終我改變了主意並知道不應該使用此內部CouchDB機制)。 – ady 2012-08-09 14:16:45
好的,這可能是回答和被接受之間有史以來最長的時間:)謝謝。 – smathy 2015-01-14 20:08:15