这里是情景。我有一个名为 Permission 的模型。让我们假设它看起来像这样:
class Permission(Document):
meta = {'collection': 'permission'}
permission = DictField()
owner = ReferenceField('user')
这继承自 mongoengine 的 Document 类。因此,当我保存它的一个实例时,会在数据库中自动创建一个名为权限的集合。
我希望能够动态更改集合名称。例如,如果我有一个联系人模型并且想要保存联系人模型的权限,我不希望它进入权限集合,而是保存在一个名为contact_permission 的单独集合中。
我已经为 mongoengine 使用了 feature/dynamic_collection_naming 分支。我无法弄清楚如何让它工作。我试过这个:
p = Permission()
...
p.meta['collection'] = 'contact_permission'
p.save()
但这不起作用。你能帮帮我吗?