2011-10-18 5 views
1

ここにsenarioがあります。 Permissionというモデルがあります。mongoengineで動的なコレクション名を取得する

class Permission(Document): 
    meta = {'collection': 'permission'} 
    permission = DictField() 
    owner = ReferenceField('user') 

これは、mongoengineのDocumentクラスを継承しています。したがって、このインスタンスを保存すると、データベースにpermissionという名前のコレクションが自動的に作成されます。

私はコレクション名を動的に変更できるようにします。たとえば、連絡先モデルがあり、連絡先モデルのアクセス許可を保存する場合は、アクセス許可コレクションに入りたいが、contact_permissionという別のコレクションに保存する必要はありません。

私はmongoengineの機能/ dynamic_collection_namingブランチを使用しました。私はこの仕組みをどうやって得るのか分かりません。私はこれを試した:

p = Permission() 
... 
p.meta['collection'] = 'contact_permission' 
p.save() 

しかし、これは動作しません。私を助けてください。

答えて

0

これは、ダイナミックコレクションの名前付けに使用されるAPIではありません。

https://github.com/hmarr/mongoengine/commit/c62b6321adaba6c3eb54ce2dc2c1bd3069568399

+0

おかげで、私の謝罪をコミットを通じて見たではないために:あなたはこのコミットショーを言及したブランチにコミットによるクイック検索では、それを使用する方法を示しています。 – satran

関連する問題