ORM多表查询 创建表结构: from django.db import models # 创建表结构 # Create your models here. class Class_grade(models.Model): """年级表""" gid = models.AutoField(primary_key=True) gname = models.CharField(max_length=32) class Teacher(models.M…
1.什么是ORM ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作.因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作. ORM映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <-------> 类实例对象 在python中ORM将一个Python的对象映射为数…
前戏 ORM(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. ORM的优势: ORM解决的主要问题是对象和关系的映射.它通常将一个类和一张表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段. ORM提供了对数据库的映射,不用直接编写SQL代码,只需操作对象就能对数据库操作数据. 让软件开发人员专注于业务逻辑的处理,提高了开发效率. ORM的劣势: ORM的缺点是会在一定程度上牺牲程序的执行…
基于双下划线查询 根据存的时候,字段的数据格式衍生的查询方法 1.年龄大于35岁 res = models.AuthorDetails.objects.filter(age__lt=80) print(res) # 输出结果 <QuerySet [<AuthorDetails: yuhua@dd>, <AuthorDetails: cao@di.com>, <AuthorDetails: gao@doi.com>]> 2.年龄小于35岁 res = mode…
set() 更新model对象的关联对象 book_obj=models.Book.objects.first() book_obj.authors.set([2,3]) 把book_obj这个对象重新设置关联对象为作者id为2,3的对象 remove() 从关联对象中移除被执行的对象 book_obj=models.Book.objects.first() book_obj.authors.remove(3) 移除这个对象关联的id为3的作者 clear() 从关联对象集中移除一切对象. bo…
db_index=True  如果设置该字段就可以设置索引 auto_now_add  代表设置创建时候的时间 auto_now   每次更新数据记录时会更新该字段 to_field 设置要关联表的字段,一般是ID related_time 反向操作时,使用的字段名,用于代替原反向查询时的表名_set class Classes(models.Model): name = models.CharField(max_length=32) class Student(models.Model): n…
必知必会13条 操作下面的操作之前,我们实现创建好了数据表,这里主要演示下面的操作,不再细讲创建准备过程 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误. <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 <5&…
在model.py中: class B1(models.Model): u1= models.CharField(max_length=32) #多 class B2(models.Model): f1 = models.CharField(max_length=32) f2= models.IntegerField() f3 = models.ForeignKey('B1') 在views.py中: #B2中 外键f3 指向B1中u1=‘x’ 的所有对象的列表 obj_list = B2.ob…
12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm_demo.settings") import django django.setup() # 启动Django项目 from app01 import models #返回QuerySet对象的方法: r…
目录 Django ORM 多表操作 表模型 表关系 创建模型 逆向到表模型 插入数据 ORM 添加数据(添加外键) 一对多(外键 ForeignKey) 一对一 (OneToOneFeild) 多对多(ManyToManyField):在第三张关系表中新增数据 ORM 修改数据 ORM 删除和清空数据 跨表查询 基于对象的跨表查询 基于双下划线的跨表查询 聚合查询 示例 F查询 Q查询 Django ORM 多表操作 表模型 图书表 出版社表 作者表 作者详情表 表关系 一对一:一对一推荐建在…