2

リストが変更可能であるため、ZODB では 1 対多の関係が機能しません。解決策は永続マッピング、永続リスト、または BTree であると言われています。

4

1 に答える 1

5

あなたの質問を理解しているかどうかわかりません。

PersistentMapping はディクショナリと同じように動作しますが、永続的です。PersistentList は単なる永続的なリストです。

BTree はディクショナリとしても動作しますが、膨大な数のオブジェクトに対して最適化されています。多くのオブジェクトを処理する必要がある場合は、PersistentMapping または PersistentList を使用しないでください。

ZODB リレーションでは、Python で通常行うようにオブジェクト参照を使用できます。

ZODB は、必要に応じて弱参照もサポートします。

z3c.relationfield など、ZODB でリレーションを処理するための特別なパッケージが他にもあります。たとえば、リレーションで検索する必要がある場合などです。

于 2010-10-21T08:20:52.550 に答える