couchdb.mapping.Document クラスの rev プロパティが読み取り専用属性である理由を知りたいです。id 属性も設定できます。私のプロジェクトでは、CouchDB ビューから取得した rev を使用して新しいドキュメントを作成する必要があります。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')