如何高效运用Django的Queryset进行数据查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1367个文字,预计阅读时间需要6分钟。
对象关系映射(ORM)通过简化与SQL数据库的交互,使得操作更为直观。虽然ORM效率可能不如原始SQL,但其使用简化了开发流程。有效使用ORM的关键在于清晰了解如何通过ORM查询数据库。下面将重点介绍ORM的使用方法。
对象关系映射 (ORM) 使得与SQL数据库交互更为简单,不过也被认为效率不高,比原始的SQL要慢。
要有效的使用ORM,意味着需要多少要明白它是如何查询数据库的。本文我将重点介绍如何有效使用Django ORM系统访问中到大型的数据集。
Django的queryset是惰性的
Django的queryset对应于数据库的若干记录(row),通过可选的查询来过滤。例如,下面的代码会得到数据库中名字为‘Dave’的所有的人:
上面的代码并没有运行任何的数据库查询。你可以使用person_set,给它加上一些过滤条件,或者将它传给某个函数,这些操作都不会发送给数据库。这是对的,因为数据库查询是显著影响web应用性能的因素之一。
本文共计1367个文字,预计阅读时间需要6分钟。
对象关系映射(ORM)通过简化与SQL数据库的交互,使得操作更为直观。虽然ORM效率可能不如原始SQL,但其使用简化了开发流程。有效使用ORM的关键在于清晰了解如何通过ORM查询数据库。下面将重点介绍ORM的使用方法。
对象关系映射 (ORM) 使得与SQL数据库交互更为简单,不过也被认为效率不高,比原始的SQL要慢。
要有效的使用ORM,意味着需要多少要明白它是如何查询数据库的。本文我将重点介绍如何有效使用Django ORM系统访问中到大型的数据集。
Django的queryset是惰性的
Django的queryset对应于数据库的若干记录(row),通过可选的查询来过滤。例如,下面的代码会得到数据库中名字为‘Dave’的所有的人:
上面的代码并没有运行任何的数据库查询。你可以使用person_set,给它加上一些过滤条件,或者将它传给某个函数,这些操作都不会发送给数据库。这是对的,因为数据库查询是显著影响web应用性能的因素之一。

