Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么在django中将mongodb用作后端时不需要“models.py”?_Python_Django_Mongodb - Fatal编程技术网

Python 为什么在django中将mongodb用作后端时不需要“models.py”?

Python 为什么在django中将mongodb用作后端时不需要“models.py”?,python,django,mongodb,Python,Django,Mongodb,最近,我看到一个应用程序以django和mongodb作为后端,问题是该应用程序没有models.py文件。所有数据都直接插入到views.py中。我只需要对使用django而不使用models.py和mongodb的这一特殊情况做一点澄清。 py是django免费提供的ORM。 ORM将SQL模式关联到oopsy对象中。 您可以在此处阅读有关ORM的更多信息-> 使用noSQL时,可以将对象直接推送到DB中。因此,您实际上并不需要ORM 也就是说,是否使用它是一个有争议的部分 即使在使用SQL

最近,我看到一个应用程序以django和mongodb作为后端,问题是该应用程序没有models.py文件。所有数据都直接插入到views.py中。我只需要对使用django而不使用models.py和mongodb的这一特殊情况做一点澄清。

py是django免费提供的ORM。 ORM将SQL模式关联到oopsy对象中。 您可以在此处阅读有关ORM的更多信息->

使用noSQL时,可以将对象直接推送到DB中。因此,您实际上并不需要ORM

也就是说,是否使用它是一个有争议的部分

即使在使用SQL时,有些人还是喜欢其他的ORM,而不是django的内置模型。

一个简短的答案

py是django免费提供的ORM。 ORM将SQL模式关联到oopsy对象中。 您可以在此处阅读有关ORM的更多信息->

使用noSQL时,可以将对象直接推送到DB中。因此,您实际上并不需要ORM

也就是说,是否使用它是一个有争议的部分


注:即使在使用SQL时,有些人还是喜欢其他ORM而不是django的内置模型。

models.py是django ORM检查固定关系模式并生成相关SQL代码以初始化或修改数据库的方法。ORM代表对象关系映射

Mongo不是关系型的,因此不需要这种模式

当然,如果以后项目的需求发生变化,这可能会导致很多其他问题


但是您不需要关系模式,因为您不使用关系数据库。

models.py是检查固定关系模式并生成相关SQL代码以初始化或修改数据库的Django ORM方法。ORM代表对象关系映射

Mongo不是关系型的,因此不需要这种模式

当然,如果以后项目的需求发生变化,这可能会导致很多其他问题


但是您不需要关系模式,因为您不使用关系数据库。

这是一个很粗糙的概念,即使使用sql后端,它也不是必需的,这是一个好主意though@JoranBeasley如果希望数据库后端由ORM生成,而不是手工映射所有内容,则需要使用该选项。但是对于不使用ORM的人来说,当然,这不是绝对必要的。可悲的是,我知道的太多了…它是粗糙的,从来没有必要,即使使用sql后端它往往是一个好主意though@JoranBeasley如果希望数据库后端由ORM生成,而不是手工映射所有内容,则需要使用该选项。但是对于不使用ORM的人来说,当然,这不是绝对必要的。可悲的是,我知道太多关于。。。