【发布时间】:2014-08-22 03:21:13
【问题描述】:
作为一名新手程序员,我编写的大多数程序从未保存或加载过它们的任何数据,少数通过序列化类并将其保存为原始文本文件或二进制形式来保存。
我现在正在使用 Django 学习 Python,但我根本不了解幕后的工作原理。在我编写的所有程序中,我知道如果我有一个类 A 并且该类拥有一个链表数据成员 list 那么该列表存在于内存(堆/堆栈)中。
现在假设我编写了一个非常大的 Django 应用程序,并且我有 10,000 个 A 实例,它们究竟保存在哪里?我该如何控制它们?我想持有一个包含 10,000 个实例的列表是不合理的,但是我如何管理正在加载到应用程序内存中的内容,以及通过数据库直接访问的内容?
我希望我很清楚,作为一个新手,我不知道正确的定义来描述我的意思并且难以沟通,所以请随时编辑和纠正我。
【问题讨论】:
-
我认为回答这个问题可能会导致写一本书。我建议您从不使用框架开始(即编写一个简单的 Python 程序)并阅读有关数据库和数据结构的知识
-
刚开始使用 django 教程。我认为这将为您解决很多问题。
-
@Alvaro 参考一本书可能是一个完美的答案,我不是在找人教我一切。
-
@OdifYltsaeb 我做了
polls教程,它并没有帮助我理解这些要点。 -
Django 与任何其他 Python 程序没有什么不同。如果列表中有 10000 个
A类实例,它们就在内存中。如果A是 ORMModel类,那么您可以将这些实例保存到数据库中。如果您的数据库中有 10000 行,则它们在您加载它们之前不存在于内存中,方法是开始迭代 Django 查询集。