欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Django中的ORM、QuerySet

程序员文章站 2024-02-11 00:02:04
...

ORM

ORM(object relational Mapping)即对象关系映射,他是Django框架中的一个重要部分,他实现了数据模型与数据库的解耦,即数据模型不需要依赖特定的数据库,通过简单的配置就可以实现;

ORM的任务:

  • 将我们定义的对象映射成数据库的表结构
  • 将对象列表的操作转换成SQL语句操作数据库
  • 将SQL语句查询的结果映射到我们的对象当中

 

QuerySet查询集:

在Model中,django给Model增加了一个objects属性来提供数据操作的接口,通过Model.objects.接口,即可得到Queryset对象,

QuerySet特性:

惰性查询:创建查询集不会与数据库交互,直到调用时才会与数据库交互

qs = BookInfo.objects.all()
for book in qs:
    print(book.id)

缓存:同一个查询集第一次调用时会与数据库交互,第二次调用时会使用缓存

qs=BookInfo.objects.all()
[book.id for book in qs]
[book.id for book in qs]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关标签: django