私はCouchDBサポートをFlaskに追加するFlask拡張機能に取り組んでいます。簡単にするcouchdb.mapping.Document
ためにstore
、load
メソッドが現在のスレッドローカルデータベースを使用できるようにサブクラス化しました。現在、私のコードは次のようになっています。
class Document(mapping.Document):
# rest of the methods omitted for brevity
@classmethod
def load(cls, id, db=None):
return mapping.Document.load(cls, db or g.couch, id)
簡潔にするためにいくつか省略しましたが、それは重要な部分です。ただし、classmethodの動作方法により、このメソッドを呼び出そうとすると、エラーメッセージが表示されます。
File "flaskext/couchdb.py", line 187, in load
return mapping.Document.load(cls, db or g.couch, id)
TypeError: load() takes exactly 3 arguments (4 given)
呼び出しをに置き換えてテストしましたが、機能しますが、内部属性にmapping.Document.load.im_func(cls, db or g.couch, id)
アクセスすることに特に満足していません(文書化されている場合でも)。im_
誰かがこれを処理するためのよりエレガントな方法を持っていますか?