首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Django学习-21-表关系参数
】的更多相关文章
Django学习——图书相关表关系建立、基于双下划线的跨表查询、聚合查询、分组查询、F查询、Q查询、admin的使用、使用脚本调用Django、Django查看源生sql
0 图书相关表关系建立 1.5个表 2.书籍表,作者表,作者详情表(垂直分表),出版社表,书籍和作者表(多对多关系) 一对一 多对多 本质都是一对多 外键关系 3.一对一的关系,关联字段可以写在任意一方 4.一对多的关系,关联字段写在多的一方 5.多对多的关系,必须建立第三张表(orm中,可以用一个字段表示,这个字段可以写在任意一方) 6 把表关系同步到数据库中 -python manage.py makemigrations # 在migrations文件夹下记录一下 -python mana…
Django中的表关系实现及操作
表关系的实现 预备知识 ORM的正向操作和反向操作: 1.正向操作:一个模型中定义了一个外键,通过该模型对该外键操作的操作叫做正向操作. 2.反向操作:被外键所关联的模型,通过该模型对外键所在模型的操作叫做反向操作. 表关系的操作 我们通过下面的案例,来了解表关系的操作 首先我们需要几张表:学生表,学生信息表,班级表,报名表,课程表 他们的关系是:学生表和学生信息表 一对一 班级表和学生表 一对多 学生表和课程表 多对多 下面是Django 模型代码:…
django学习-21.优化表数据的标题展示
目录结构 1.前言 2.表数据的标题默认展示的数据格式是[模型类名 object(主键名)]的相关信息 3.优化表数据的标题展示的数据格式是[改成我们想要展示的数据格式]的相关完整操作步骤 3.1.第一步:修改模型类[Person]的代码内容 3.2.第二步:重启django项目[helloworld]的服务 3.3.第三步:重新成功登陆admin管理后台 3.4.第四步:查看被成功优化后的[hello_person]表表数据的标题展示的数据格式 1.前言 admin管理后台里的每张数据表的每条…
django学习-5.获取url参数和name的作用
1.前言 假如我们要打开这两个博客园地址:[https://www.cnblogs.com/xiamen-momo/archive/2020/11.html].[https://www.cnblogs.com/xiamen-momo/archive/2020/12.html],会发现这两个地址的最大差别就是时间参数的值是动态的(年和月的值是动态的). 那么,如果我们想要获取地址[https://www.cnblogs.com/xiamen-momo/archive/2020/11.html]里面…
Django学习路36_函数参数 反向解析 修改404 页面
在 templates 中创建对应文件名的 html 文件 (.html) 注: 开发者服务器发生变更是因为 python 代码发生变化 如果 html 文件发生变化,服务器不会进行重启 需要自己手动修改 注意就近原则,如果有重复名字,先用最近的…
Django学习——图书管理系统图书修改、orm常用和非常用字段(了解)、 orm字段参数(了解)、字段关系(了解)、手动创建第三张表、Meta元信息、原生SQL、Django与ajax(入门)
1 图书管理系统图书修改 1.1 views 修改图书获取id的两种方案 1 <input type="hidden" name="id" value="{{ book.nid }}"> 2 <form action="/update_book/?id={{ book.nid }}" method="post">{% csrf_token %} 1.2 路由urls 1.3 前端模板…
Django——7 常用的查询 常用的模型字段类型 Field的常用参数 表关系的实现
Django 常用的查询 常用的查询方法 常用的查询条件 常用字段映射关系 Field常用参数 表关系的实现 查用的查询方法 这是需要用到的数据 from django.http import HttpResponse from .models import User def special_search(request): # 查询所有的记录 res = User.objects.all() print(res) return HttpResponse('查询成功') # 查询第一条数据 re…
Django学习笔记(6)——Form表单
知识储备:HTML表单form学习 表单,在前端页面中属于最常见的一个东西了.基本上网站信息的提交都用到了表单,所以下面来学习Django中优雅的表单系统:Form 表单的主要作用是在网页上提供一个图形用户页面,用作采集和提供用户输入数据. 表单的基本结构: <form></form> 1,from表单常用属性 action :表单提交的服务器地址,也就是服务器接收表单数据的url地址 method:表单提交数据的方法(一般为get/post) name:最好是name属性的唯一性…
Django学习(4)表单,让数据库更美好
表单,在HTML中的标签为<form></form>,在网页中主要负责数据采集功能.我们在浏览网站时,常常会碰到注册账号.账号登录等,这就是表单的典型应用. 在Django学习(2)数据宝库中,我们学习了Django与MySQL数据库的连接:在Django学习(3)模板定制中,我们学习了利用Django的模板将HTML设计与Python代码分离开来.这次,我们将要学习如何利用表单在网页上直接操作MySQL数据库. 我们延续Django学习(2)数据宝库的Book项目,首先新建项目B…
八.django模型系统(二)之常用查询及表关系的实现
Ⅰ.常用查询 1.几个概念 每一个django模型类,都有一个默认的管理器,objects,查询就是依赖于objects管理器进行的(在创建时就被添加了). QuerySet表示数据库中对象的列表(QuerySet也是一个类).它可以有0到多个过滤器.过滤器通过给定参数,缩小查询范围.(filter) QuerySet等同于select语句,过滤器是一个限制子句,比如where,比如limit. 1)环境进入 2.常用查询代码 1)QuerySet 的方法(查询方法) all() 获取所有 S…
Django学习之django自带的contentType表 GenericRelation GenericForeignKey
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aaronthon/article/details/81714496 contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. models.py文件的表结构写好后,通过makemigrations和migrate两条…
Django学习手册 - ORM 数据创建/表操作 汇总
ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行. QuerySet特点: <1> 可迭代的 <2> 可切片 <3> 惰性计算和缓存机制 例: info=models.table_name.objects.all()[0:5] #切片 info= mode…
Python Django orm操作数据库笔记之外键和表关系
外键 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的. 外键的使用 使用外键前需要先确保相应外键已存储在数据库中(flask中会在你引用时自动保存相应外键). 如果想要引用另外一个app的模型,那么应该在传递to参数的时候,使用app.model_name进行指定. 如果模型的外键引用的是本身自己这个模型,那么to参数可以为'self',或者是这个模型的名字. 外键的删除 如果一个模型使用了外键.那么在对方那个模型被删掉后…
5.Django|模型层--多表关系
多表操作 文件为 ----> orm2 数据库表关系之关联字段与外键约束 一对多Book id title price publish email addr php 人民出版社 北京 python 沙河出版社 沙河 go 人民出版社 北京 java 人民出版社 北京 Book多 id title price publish_id php python go java Publish一 id name email addr 人民出版社 北京 沙河出版社 沙河 查询python这本书的出版社的邮箱…
django ORM模型表的一对多、多对多关系、万能双下划线查询
一.外键使用 在 MySQL 中,如果使用InnoDB引擎,则支持外键约束.(另一种常用的MyIsam引擎不支持外键) 定义外键的语法为fieldname=models.ForeignKey(to_class,on_delete=' ',options),第一个参数表示引用哪个模型,第二个参数表示如果外键引用的模型删除,该字段对应的的值应该怎么处理,第三个语法为其他字段参数. django ORM模型常用的on_delete的值 models.CASCADE:级联删除,即外键对应的那条数据删除了…
day 94 Django学习之django自带的contentType表
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aaronthon/article/details/81714496 contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. models.py文件的表结构写好后,通过makemigrations和migrate两条…
day 93 Django学习之django自带的contentType表
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aaronthon/article/details/81714496 contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. models.py文件的表结构写好后,通过makemigrations和migrate两条…
Django学习笔记之ORM字段和字段参数
Object Relational Mapping(ORM) 一.ORM介绍 1. ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 2. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于&qu…
django ORM中的表关系
多对一: 为了方便理解,两个表之间使用ForeignKey连接时,使用ForeignKey的字段所在的表为从表,被ForeignKey连接的表为主表. 使用场景:书和出版社之间的关系,一本书只能由一个出版社出版,一个出版社却可以出版很多书 实现方式:一对多或者说多对一,在Django中是使用ForeignKey实现的,下面是例子: class Publisher(models.Model): """出版社模型""" id = models.Aut…
Django框架基础知识07-常用查询及表关系的实现
1.常用的模型字段类型 https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types 2.字段的常用参数 官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-options 3.常用查询 通过模型类上的管理器来构造QuerySet. 模型类上的管理器是啥? 模型类.objects,<django.db.models.manager.M…
Django入门--模型系统(二):常用查询及表关系的实现
1.常用查询 模型类上的管理器: ** 模型类.objects ** (1)常用一般查询 rs = Student.objects.all() # 查询所有记录,返回Queryset print(rs.query) # 返回rs的SQL语句, 针对Queryset对象 rs = Student.objects.filter(name='XM') # 条件查询, 可传多个参数, 返回Queryset # from django.db.models import Q # Student.object…
Python之路【第三十篇】:django 模型层-多表关系
多表操作 文件为 ----> orm2 数据库表关系之关联字段与外键约束 一对多Book id title price publish email addr 1 php 100 人民出版社 111 北京 2 python 120 沙河出版社 222 沙河 3 go 110 人民出版社 119 北京 4 java 300 人民出版社 111 北京 Book多 id title price publish_id 1 php 100 1 2 python 120 1 3 go 110 2 4 jav…
Django中多对多关系的orm表设计
作者的管理 1.设计表结构 出版社 书籍 作者 一个出版社出版多个书籍 1对多 书籍和作者的关系:一个作者写多本书,一本书可以是多个作者写.多对多 1)创建一张表,表中多对多的数据关系.使用 多对多字段的方法 2)创建的这个类,会创建两个表,app_加类名(开头变小写),app_这个类名_另一张表类名 3)这个类创建的表中没有多对多的字段,多对多的关系是以这张表表名加_id和另一张表表名加_id两个字段合成的新的表,id主键自动生成 4)一般多对多字段关联的是有外键的那张表. 2.展示含有…
django学习笔记--数据库中的多表操作
1.Django数据库----多表的新增操作 1.一对一模式下新增 创建一个详情对象,把这个对象赋值给创建的新的user对象 author_detail = models.AuthorDetail.objects.create(addr='上海',phone='178****4789') # 直接设置author_detail为一个对象 author = models.Author.objects.create(name="zhangsan",age=32,author_detail=…
day 91 Django学习之django自带的contentType表
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aaronthon/article/details/81714496 contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. models.py文件的表结构写好后,通过makemigrations和migrate…
Python学习day43-数据库(多表关系)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font: inherit; } input[type="checkbox"], input[type=&quo…
六、Django学习之基于下划线的跨表查询
六.Django学习之基于下划线的跨表查询 一对一 正向查询的例子为 已知用户名,查询用户的电话号码.反向查询例子反之. 正向查询 其中下划线前的表示表名,无下划线的表示的是Author表 result = models.Author.objects.filter(name='admin').values("authorDetail__telephone",'name','age') 反向查询 values可以不写,则去除能拿到的全部数据.filter中的双下划线表示联表 result…
五、Django学习之基于对象的跨表查询
五.Django学习之基于对象的跨表查询 正向与反向查询 关键在于ForeignKey字段写的位置.例如下面这段代码, 关系属性(字段)写在哪个类(表)里面,从当前类(表)的数据去查询它关联类(表)的数据叫做正向查询,反之叫做反向查询 Publish查询Book的内容就是反向查询 Book查询Publish的内容就是正向查询 class Publish(models.Model): name=models.CharField( max_length=32) city=models.CharFie…
Django(15)外键和表关系
外键删除操作 如果一个模型使用了外键.那么在对方那个模型被删掉后,该进行什么样的操作.可以通过on_delete来指定.可以指定的类型如下: CASCADE:级联操作.如果外键对应的那条数据被删除了,那么这条数据也会被删除. PROTECT:受保护.即只要这条数据引用了外键的那条数据,那么就不能删除外键的那条数据. SET_NULL:设置为空.如果外键的那条数据被删除了,那么在本条数据上就将这个字段设置为空.如果设置这个选项,前提是要指定这个字段可以为空. SET_DEFAULT:设置默认值.如…
Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)
目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的概念 1.什么是正向? 2.什么是反向? 3.判断正向反向 4.查询方式 5.应用场景.all() 四:多表查询 1.子查询与联表查询 五:子查询(基于对象的跨表查询) 1.子查询(正向) 2.子查询(正向)总结 3.子查询(反向) 4.子查询(反向) 六:联表查询(基于双下划线的跨表查询) 1.v…