Django ORM如何实现对象与数据库的映射关系?

2026-06-09 10:300阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计6819个文字,预计阅读时间需要28分钟。

Django ORM如何实现对象与数据库的映射关系?

使用面向对象编程语言中不同类型系统间的数据转换,即是用面向对象的方式去操作数据库的创建表、增删改查等操作。优势:ORM使得我们通用数据库的交云变得简单直观。

用于实现面向对象编程语言里不同类型系统的数据之间的转换,换言之,就是用面向对象的方式去操作数据库的创建表以及增删改查等操作。

优点: 1 ORM使得我们的通用数据库交互变得简单易行,而且完全不用考虑该死的SQL语句。快速开发,由此而来。

2 可以避免一些新手程序猿写sql语句带来的性能问题。

新手可能会用select * from auth_user,这样会因为多了一个匹配动作而影响效率的。

缺点:1 性能有所牺牲,不过现在的各种ORM框架都在尝试各种方法,比如缓存,延迟加载登来减轻这个问题。效果很显著。

2 对于个别复杂查询,ORM仍然力不从心,为了解决这个问题,ORM一般也支持写raw sql。

3 通过QuerySet的query属性查询对应操作的sql语句

author_obj=models.Author.objects.filter(id=2)
print(author_obj.query)

下面要开始学习Django ORM语法了,为了更好的理解,我们来做一个基本的 书籍/作者/出版商 数据库结构。 我们这样做是因为 这是一个众所周知的例子,很多SQL有关的书籍也常用这个举例。

表(模型)的创建:

实例:我们来假定下面这些概念,字段和关系

作者模型:一个作者有姓名。

阅读全文

本文共计6819个文字,预计阅读时间需要28分钟。

Django ORM如何实现对象与数据库的映射关系?

使用面向对象编程语言中不同类型系统间的数据转换,即是用面向对象的方式去操作数据库的创建表、增删改查等操作。优势:ORM使得我们通用数据库的交云变得简单直观。

用于实现面向对象编程语言里不同类型系统的数据之间的转换,换言之,就是用面向对象的方式去操作数据库的创建表以及增删改查等操作。

优点: 1 ORM使得我们的通用数据库交互变得简单易行,而且完全不用考虑该死的SQL语句。快速开发,由此而来。

2 可以避免一些新手程序猿写sql语句带来的性能问题。

新手可能会用select * from auth_user,这样会因为多了一个匹配动作而影响效率的。

缺点:1 性能有所牺牲,不过现在的各种ORM框架都在尝试各种方法,比如缓存,延迟加载登来减轻这个问题。效果很显著。

2 对于个别复杂查询,ORM仍然力不从心,为了解决这个问题,ORM一般也支持写raw sql。

3 通过QuerySet的query属性查询对应操作的sql语句

author_obj=models.Author.objects.filter(id=2)
print(author_obj.query)

下面要开始学习Django ORM语法了,为了更好的理解,我们来做一个基本的 书籍/作者/出版商 数据库结构。 我们这样做是因为 这是一个众所周知的例子,很多SQL有关的书籍也常用这个举例。

表(模型)的创建:

实例:我们来假定下面这些概念,字段和关系

作者模型:一个作者有姓名。

阅读全文