python - Django 过滤器是否会增加每个用户的内存消耗 : Python

标签 python django postgresql filter ram

我不知道我还能在哪里问这个问题,所以在这里问。我想知道,如果我在使用多个数据库表的页面上施加多个 Django 过滤器,每当用户访问此页面时,这是否会影响 ram 消耗,因为在用户之前,只有过滤后的数据会得到反射(reflect)。我在基于 ubuntu 的虚拟机上使用带有 postgresql 的 django,如果有任何文档有助于理解 ram 利用率,请提出建议。

最佳答案

Django 过滤器和查询集是惰性的。它的实际意思是,在您评估它们之前,您实际上并没有访问数据库。引用官方documentation -

Internally, a QuerySet can be constructed, filtered, sliced, and generally passed around without actually hitting the database. No database activity actually occurs until you do something to evaluate the queryset.

因此,您的 RAM 中唯一占用的空间实际上是包含查询集和您的程序的列表。正是在评估查询并从数据库中提取数据时,即(取决于提取的数据量),内存被填满。另外,看看 iterators 是个好主意。还有

关于python - Django 过滤器是否会增加每个用户的内存消耗 : Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52094791/

相关文章:

postgresql - 从继承的角色中撤销 SELECT

sql - 在 Postgres 中将 Const Integer 转换为 Bigint

python - 打印 1 到 N - 位数

python - 如何在Python中有效计算(稀疏)位矩阵上的矩阵乘积

Python boolean (省略号)和 boolean (无)

jquery - 通过 JQuery .val() 将多个数据字段从 <select multiple> 传递到 Django formfield

python - 使用gunicorn运行Django : Bad Request (400)

python - 对 csv 文件进行排序 (Python)

python - 带有两个提交按钮的 Django 表单。 . .一个需要字段,一个不需要

postgresql - 如何显示 SQL 从中找到 MIN 值的列的名称?