MongoEngine - 有一个虚拟的'具有复杂依赖关系的模型?

时间:2018-02-01 12:35:44

标签: python mongoengine

我遇到一个问题,即一组MongoEngine文档有两组用户。其中一个使用集希望复杂的辅助函数成为文档定义的一部分,另一个用户集无法安装这些函数所需的依赖项。

我想实现类似干净模型和脏模型的东西,用户可以自己选择,但实际的数据库文档定义只在一个地方维护。 E.g。

CleanModel / my_document.py

class MyDocument(Document):
    my_field = StringField()

DirtyModel / my_document.py

from CleanModel import MyDocument as _MyDocument

class MyDocument(_MyDocument):
    def some_function_that_relies_on_compiled_code():
        pass

然后可以使用:

from DirtyModel import MyDocument

from CleanModel import MyDocument

使用完全相同的Mongo文档。我上面写的方式DirtyModel.MyDocument.objects()无法获取使用CleanModel创建的文档。

有关解决此问题的最佳方法的任何想法? (我不认为在这种情况下将辅助方法移到文档定义之外是可行的)

0 个答案:

没有答案