从现有的MongoDB数据库创建Django模型

时间:2015-03-02 16:59:28

标签: python django mongodb django-rest-framework

我在MongoDB中有一些数据库,我想动态创建模型,因为有很多数据库,我不能手动完成。问题:

  1. 我的models.py应该是什么样的? (inspectdb是使用mongodb数据库还是只使用基于SQL的dbs?)
  2. 由于数据库模型是动态创建的,如何编写序列化程序类以返回动态字段?
  3. 提前致谢。

1 个答案:

答案 0 :(得分:2)

Django支持对象关系映射器,它针对传统的关系数据库。在there are a number of mongodb packages for Django期间,他们都不支持inspectdb来构建您的模型。无论哪种方式,inspectdb is a kludge都设计为帮助一个迁移远离遗留系统的过程之一,即您构建models.py文件一次,永远不要再次运行inspectdb。这不是您想要做的,因为您似乎想要可以在运行时添加或更改的动态模型。

从好的方面来说,Django MongoDB Engine已为<{3}}提供某些支持。但即便如此,他们似乎也不太支持它:

  

正如您所看到的,通用嵌入式模型会增加大量开销,从而增加数据记录。无论如何你想要使用它们,这就是你如何做到的......

总之,尝试尽可能地构建模型以实际满足您的要求。如果您在制作之前对模型一无所知,那么Django也许不适合您。