リストが変更可能であるため、ZODB では 1 対多の関係が機能しません。解決策は永続マッピング、永続リスト、または BTree であると言われています。
1186 次
1 に答える
5
あなたの質問を理解しているかどうかわかりません。
PersistentMapping はディクショナリと同じように動作しますが、永続的です。PersistentList は単なる永続的なリストです。
BTree はディクショナリとしても動作しますが、膨大な数のオブジェクトに対して最適化されています。多くのオブジェクトを処理する必要がある場合は、PersistentMapping または PersistentList を使用しないでください。
ZODB リレーションでは、Python で通常行うようにオブジェクト参照を使用できます。
ZODB は、必要に応じて弱参照もサポートします。
z3c.relationfield など、ZODB でリレーションを処理するための特別なパッケージが他にもあります。たとえば、リレーションで検索する必要がある場合などです。
于 2010-10-21T08:20:52.550 に答える