ORM多表操作上】的更多相关文章

一.创建模型 例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一(one-to-one)的关系. 出版社模型:出版社有名称,所在城市以及email. 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多(many-to-many)的关联关系; 一本书只应该由一个出版社出版,所以出版社和书籍是一对多(one-t…
Django框架05 /orm单表操作 目录 Django框架05 /orm单表操作 1. orm使用流程 2. orm字段 3. orm参数 4. orm单表简单增/删/改 5. orm单表查询 5.1 查询api 5.2 基于双下划线的模糊查询 / filter双下划线查询 总结: 1. orm使用流程 配置mysql # django 连接mysql,settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends…
目录 Django ORM 多表操作 表模型 表关系 创建模型 逆向到表模型 插入数据 ORM 添加数据(添加外键) 一对多(外键 ForeignKey) 一对一 (OneToOneFeild) 多对多(ManyToManyField):在第三张关系表中新增数据 ORM 修改数据 ORM 删除和清空数据 跨表查询 基于对象的跨表查询 基于双下划线的跨表查询 聚合查询 示例 F查询 Q查询 Django ORM 多表操作 表模型 图书表 出版社表 作者表 作者详情表 表关系 一对一:一对一推荐建在…
day59 orm单表操作 对象关系映射(object relational mapping) orm语句 -- sql -- 调用pymysql客户端发送sql -- mysql服务端接收到指令并执行 orm介绍 django 连接mysql 1 settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm02', 'USER':'root', 'PASSWORD':'66…
参考:https://www.cnblogs.com/liwenzhou/p/8660826.html 一  ORM单表操作 1 增删改查 1. 查询 1. 查所有 models.Publisher.objects.all() 2. 查某个具体的记录 models.Publisher.objects.get(id=1) --> 注意查询条件不成立就报错 2. 删除一条记录 models.Publisher.objects.get(id=1).delete() 3. 创建一条记录 models.P…
Django框架06 /orm多表操作 目录 Django框架06 /orm多表操作 1. admin相关操作 2. 创建模型 3. 增加 4. 删除 5. 修改 6. 基于对象的跨表查询 7. 基于双下划线的跨表查询 -- 基于join实现的 8. Python脚本中调用Django 环境(Django外部脚本使用models) 1. admin相关操作 注册超级用户 python manage.py createsuperuser # 输入用户名:liubing # 邮箱不用输 直接回车 #…
目录 1.URL别名&反向解析 2.URL分发&命名空间 3.ORM多表操作-修改 4.ORM多表操作-查询 4.1 基于对象的跨表查询 4.2 基于双下划线的跨表查询 4.3 聚合查询 4.4 分组查询 4.5 F查询 4.6 Q查询 URL别名&反向解析 urls.py的别名写法 from django.conf.urls import url from django.contrib import admin from app01 import views from app01…
多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及email. 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系…
------------------------------------------只有对前途乐观的人,才能不怕黑暗,才能有力量去创造光明.乐观不是目的,而是人生旅途中的一种态度. 多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及email. 书籍模型: 书籍有书名和出版日期…
1.数据库表关系 1.一对多 为什么需要,重复字段太多 一对多关系表 Book id title price publish_id 1 python 100 1 2 php 200 2 3 go 100 1 4 java 300 1 Publish id name email addr 1 人民出版社 123@qq.com 北京 2 南京出版社 456@qq.com 南京 #总结:一旦确定表关系是一对多:在多对应的表中创建关联字段,publish_id #查询python这本书的出版社的邮箱(子…
多表操作 创建表模型 from django.db import models # Create your models here. class Author(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max_length=32) age=models.IntegerField() # 与AuthorDetail建立一对一的关系 authorDetail=models.OneToO…
二.orm简介 ORM:object relation mapping (ORM是“对象-关系-映射”的简称) MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦, 即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库, 这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 二.创建单表 1.创建表语法: class Book(models.Model): id=models.AutoField(primary_key=…
###############    单表操作-添加数据    ################ import os if __name__ == '__main__': os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ORM.settings") import django django.setup() from app01 import models # 一.添加表记录 # 对于单表有两种方式 # 添加数据的两种…
千呼万唤始出来~~~当当当,终于系统讲了django的ORM操作啦!!!这里记录的是django操作数据库表一对多.多对多的表创建及操作.对于操作,我们只记录连表相关的内容,介绍增加数据和查找数据,因为能查到就可以用常规方法进行修改,怎么加进来就怎么删掉,都是大同小异,就不再赘述了~~~ 一对多 class UserType(models.Model): caption = models.CharField(max_length=32) class UserInfo(models.Model):…
以上一随笔中创建的book表为例讲解单表操作 添加表记录 方式一 # create方法的返回值book_obj就是插入book表中的python葵花宝典这本书籍纪录对象 book_obj=Book.objects.create(title="python葵花宝典",state=True,price=100,publish="苹果出版社",pub_date="2012-12-12") 方式二 #类方法,实例化 book_obj=Book(title…
1 项目路径结构树 2 models创建类 from django.db import models class UserType(models.Model): ''' 用户类型 ''' title = models.CharField(max_length=12) class UserInfo(models.Model): ''' 用户表 ''' name = models.CharField(max_length=16) age = models.IntegerField() ut = mo…
连表操作分为以下三种情景: 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneField(其他表) 应用场景: 一对多:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择) 多对多:在某表中创建一行数据是,有一个可以多选的下拉框 一对一:在某表中创建一行数据时,有一个单选的下拉框(下拉框中的内容被用过一次就消失了)…
  创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及email. 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(on…
1.ORM介绍 ORM是“对象-关系-映射”的简称 映射关系: mysql---------Python 表名----------类名 字段----------属性 表记录--------实例化对象 ORM功能: 操作表:创建,修改,删除 操作数据行:增删改查 此外django没办法帮我们创建数据库,只能自己创建完后,再让django去链接 2.相关配置 如果要将模型转化为mysql数据库中的表,需要在setting中配置: DATABASES = { 'default': { 'ENGINE'…
Django之ORM表查询及添加记录 一.创建表 - 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); - 一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many). -- 创建一对一的关系:OneToOne("要绑定关系的表名") -- 创建一对多的关系:ForeignKey("要绑定关系的表名") -- 创建多对多的关系:Man…
一.创建模型 1.模型关系整理 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany("要绑定关系的表名")  会自动创建第三张表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); 一本书只应该由一个出版商出版,所以出版商和书籍是一对多…
###############    一对一跨表查询    ################ import os if __name__ == '__main__': os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ORM.settings") import django django.setup() from app01 import models # 一对一查询记录:author和authordetile是一对一…
默认使用sqllite数据库 修改为mysql数据库 创建数据库 在app models中编写创建数据库类 from django.db import models class Book(models.Model):#表明book django 会自动使用项目名+我们自定义的表名 # 如果没有自定义主键,django会自动添加一个主键,字段名id 自增 name =models.CharField(max_length=20) #字段名name 类型vachar(20) price =model…
django之跨表查询及添加记录 一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);     一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many). 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany(&qu…
django之数据库表的单表查询 一.添加表记录 对于单表有两种方式 # 添加数据的两种方式 # 方式一:实例化对象就是一条表记录 Frank_obj = models.Student(name ="海东",course="python",birth="2000-9-9",fenshu=80) Frank_obj.save() # 方式二: models.Student.objects.create(name ="海燕",co…
创建关联表 关于表关系的几个结论 (1)一旦确立表关系是一对多:建立一对多关系----在多对应的表中创建关联字段. (2)一旦确立表关系是多对多:建立多对多关系----创建第三张关系表----id和两个关联字段. (3)一旦确定表关系是一对一:建立一对一关系----在两张表的任意一张表中建立关联字段+Unique. (4)其实上面说的"关联字段"就是外键--foreign key. 本文用到的表.字段及相互关系 (1)作者模型:一个作者有姓名和年龄. (2)作者详细模型:把作者的详情放…
1.子查询:基于对象的跨表查询 def query(request): """ 跨表查询: 1.基于对象查询 2.基于双下划线查询 3.聚合.分组查询 4. F Q 查询 """ # ----基于对象的跨表查询(子查询) # 1.一对多查询 """ # 一对多查询 正向查询:按字段 反向查询:表名小写_set.all() book_obj.publish Book(关联属性:publish)对象 ----------…
一.创建表 1.一对多 必须在"多"的表中创建关联字段,在外加约束 class Book(models.Model): id=models.AotuField(primary_key=True) title=models.CharField(max_length=32) publish=models.ForeignKey(to='Publish',on_delete=models.CASCADE) 注:正常为字段起名即可,Django会默认为外键属性拼接_id,以此作为表的字段 to对…
1.创建一对多: 1.外键建在多的一方(如:一个出版社可出版多本书,所以建在书的表) 2.创建表: 1.创建外键 2.关联的表名 2.一对多数据的操作 2.1数据的添加: 第一种方法: 第二种方法:    2.2数据的查询: django 默认每个主表的对象都有一个是外键的属性,可以通过它来查询到所有属于主表的子表的信息 .这个属性的名称默认是以子表的名称小写加上_set()来表示(上面默认以book_set访问),默认返回的是 一个querydict对象. 2.3双下划线查询:    1.外键…
命令行创建UTF8数据库: CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建多表(外键)…