我在 MongoDB 中有一些数据库,我想为其动态创建模型,因为数据库很多,我无法手动完成。问题:
- 我的 models.py 应该是什么样子? (inspectdb 是否适用于 mongodb 数据库或仅适用于基于 SQL 的数据库?)
- 由于数据库模型是动态创建的,因此如何编写序列化器类以返回动态字段?
提前致谢。
最佳答案
Django 支持面向传统关系数据库的对象关系映射器。而there are a number of mongodb packages for Django ,都不支持inspectdb
构建您的模型。不管怎样, inspectdb
is a kludge设计为一个过程,以帮助从遗留系统进行一次迁移,即您将构建您的 models.py
文件一次并且从不运行inspectdb
再次。这不是您想要做的,因为您似乎想要可以在运行时添加或更改的动态模型。
好的一面是,Django MongoDB Engine对arbitrary embedded models within pre-defined models有一些支持。但即便如此,他们似乎也不太支持它:
As you can see, generic embedded models add a lot of overhead that bloats up your data records. If you want to use them anyway, here’s how you’d do it...
总之,请尝试尽可能地构建您的模型,以真正满足您的要求。如果您在生产之前对模型一无所知,那么 Django 可能不是适合您的解决方案。
关于python - 从现有 MongoDB 数据库创建 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28815381/