MongoEngine有一个具有复杂依赖关系的“虚拟”模型吗?

2024-06-17 06:23:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,一组MongoEngine文档有两组用户。其中一个用户集希望复杂的助手函数成为文档定义的一部分,而另一个用户集则无法安装这些函数所需的依赖项。你知道吗

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


清洁型号/my_文档.py你知道吗

class MyDocument(Document):
    my_field = StringField()

DirtyModel/我的_文档.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创建的文档。你知道吗

有什么好办法解决这个问题吗?(我认为在这种情况下,将helper方法移到文档定义之外是不实际的)


Tags: 函数用户from文档py模型import定义