Php django如何处理从数据库获取数据的问题?
我试图在PHP中复制类似于Djangos的模型类的东西。我想知道django如何处理从模型表加载和保存条目 例如,当调用Php django如何处理从数据库获取数据的问题?,php,django,model,implementation,Php,Django,Model,Implementation,我试图在PHP中复制类似于Djangos的模型类的东西。我想知道django如何处理从模型表加载和保存条目 例如,当调用Person.objects.all()(Person当然是django.db.models.Model的子类)时,我希望django执行一个SQL查询,SELECT*FROM myapp\u Person,例如,然后将从查询接收的数据转换为模型类的实例。这是正确的吗?那么 当条目太多时,这是否会导致内存溢出,或者Django是否有办法处理这种副作用 调用Person.obje
Person.objects.all()
(Person
当然是django.db.models.Model
的子类)时,我希望django执行一个SQL查询,SELECT*FROM myapp\u Person
,例如,然后将从查询接收的数据转换为模型类的实例。这是正确的吗?那么
Person.objects.filter(name=“Paul”)
时,我希望Django执行类似于SELECT*FROM myapp\u Person的SQL查询,其中name='Paul'
,但是如果以前调用过Person.objects.all()
,会怎么样?django是缓存它们还是只执行每个调用的请求您是想理解Django的ORM,还是想在PHP中复制它?如果这是后者,你有没有看过像Doctrine这样的PHP ORM?这里有一些很好的见解。顺便说一句,我认为FLOW3也有一个ORM。不确定幕后的所有内存管理,但关于第二个问题,Django只在使用对象时调用数据库,就像在循环中一样。您可以输入
p=Person.objects.all()
然后p.filter(name=“Paul”)
,到目前为止,Django尚未访问数据库。一旦您使用QuerySet,用于p:…
中的p1,它最终会访问数据库并获取记录来填充QuerySet对象。My 2cents-redbeanppp。它非常灵活,占地面积很小。整个代码库是一个文件。您是想理解Django的ORM,还是想在PHP中复制它?如果这是后者,你有没有看过像Doctrine这样的PHP ORM?这里有一些很好的见解。顺便说一句,我认为FLOW3也有一个ORM。不确定幕后的所有内存管理,但关于第二个问题,Django只在使用对象时调用数据库,就像在循环中一样。您可以输入p=Person.objects.all()
然后p.filter(name=“Paul”)
,到目前为止,Django尚未访问数据库。一旦您使用QuerySet,用于p:…
中的p1,它最终会访问数据库并获取记录来填充QuerySet对象。My 2cents-redbeanppp。它非常灵活,占地面积很小。整个代码库是一个文件。