六、Django学习之基于下划线的跨表查询
六、Django学习之基于下划线的跨表查询 一对一 正向查询的例子为 已知用户名,查询用户的电话号码。反向查询例子反之。 正向查询 其中下划线前的表示表名,无下划线的表示的是Author表 12result = models.Author.objects.filter(name='admin').values("authorDetail__telephone",'name','age') 反向查询 values可以不写,则去除能拿到的全部数据。filter中的双下划线表示联表 1result = models.AuthorDetail.objects.filter(author__name='admin').values('telephone') 一对多 正向查询 1result = models.Book.objects.filter(title='第一本书').values("publishs__name") ...
五、Django基于对象的跨表查询
六、基于对象的跨表查询 正向与反向查询 关键在于ForeignKey字段写的位置。例如下面这段代码, 关系属性(字段)写在哪个类(表)里面,从当前类(表)的数据去查询它关联类(表)的数据叫做正向查询,反之叫做反向查询 Publish查询Book的内容就是反向查询 Book查询Publish的内容就是正向查询 123456789101112131415161718class Publish(models.Model): name=models.CharField( max_length=32) city=models.CharField( max_length=32) email=models.EmailField() #charfield -- asdfasdf def __str__(self): return self.name#书籍表class Book(models.Model): nid = models.AutoField(primary_key=True) title = models.CharField( m ...
四、Django关系表字段介绍
关系表介绍及使用 一对一关系 12xx = models.OneToOneField(to='表名',to_field='字段名',on_delete=models.CASCADE) #on_delete:删除时的一些级联效果,to_field可以不写,默认是关联到另一张表的主键,on_delete在1.x版本的django中不用写,默认是级联删除的,2.x版本的django要写. 增加数据 方式1 123456789101112new_author_detail = models.AuthorDetail.objects.create( birthday='1979', telephone='138', addr='black' ) # 方式1 models.Author.objects.create( name='王涛', age=18, #直接将对象赋 ...
三、Django查询表记录
查询接口 all() 查询所有结果,结果是queryset类型 filter(**kwargs) and条件关系:参数用逗号分割表示and关系 1234models.Student.objects.filter(id=1,name='dazhuang').update( name='大壮禅师', age = 78,) 其中filter的参数也可以通过字典方式传入 12odels.Student.objects.filter(**{'id':7,'name':'大壮禅师'}).update(age=100)models.Student.objects.all().filter(id=7) #queryset类型可以调用fitler在过滤 get(**kwargs) 返回与所给筛选条件相匹配的对象,不是queryset类型,是行记录对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。捕获异常try。 Book.object ...
二、Django简单的增删改查
增加数据 第一种方式 12345678910def index(request): #创建记录方式1 #实例化要添加的记录(对象) student_obj = models.Student( name='dazhuang', age=23, ) #自动刷新并存储到数据库 student_obj.save() return render(request,'index.html') 第二种方式 常用方法 1234567def index(request): #创建记录方式2 # new_obj为返回值,返回这个类的对象 (model对象) new_obj = models.Student.objects.create(name='xiaozhuang',age=5) print(new_obj.name) print(new_obj.age) return render(request,'index.html& ...
一、Django连接与建立数据库
Django连接与建立数据库 连接MySQL数据库 配置文件 找到DATABASES对应的设置,修改为MySQL的配置即可 12345678910DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'bms', # 要连接的数据库,连接前需要创建好 'USER':'root', # 连接数据库的用户名 'PASSWORD':'', # 连接数据库的密码 'HOST':'127.0.0.1', # 连接主机,默认本级 'PORT':3306 # 端口 默认3306 ...
Linux安装Python和pip环境
下载安装包 https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz 建议使用迅雷下载 上传压缩包后解压 tar -zxvf Python-3.6.9.tgz 然后进入目录 cd Python-3.6.9 安装依赖关系 1yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y gcc :c编译器 python-devel python 开发包 openssl-devel 用于pythn的ssl模块 sqlite-devel 轻量级数据库 制定安装路径 1./configure --prefix=/opt/python/ prefix后边加的 ...
前端课程——HTML与CSS中的文本
HTML与CSS中的文本 结构化元素 结构化元素就是指 HTML 元素中具有明确含义和作用的元素,例如 `` 元素表示段落。相对于 HTML 4.01 版本而言,HTML5 版本新增了一系列结构化元素。 HTML4.01版本的结构化元素 名称 代码 标题元素 <h1>~<h6> 段落元素 <p> 粗体元素 <b> 斜体元素 <i> 上标/下标元素 <sup>/<sub> 换行符 <br> 水平线元素 <hr> HTML5新增的结构元素 <article> 元素 <section> 元素 <nav> 元素 <aside> 元素 <header> 元素 <main> 元素 <footer> 元素 HTML4中的元素 标题元素 HTML 标题元素具体是指<h1>~<h6>元素,其呈现了 6 个不同级别的标题,<h1&g ...
前端课程——颜色与单位
颜色与单位 有关颜色的相关概念 色调:很接近通俗意义上的颜色。 图像的相对明暗程度,在彩色图像上表现为颜色(简单的理解为颜色) 饱和度:是指颜色中灰色的含量。 色彩的纯洁性(颜色中灰色的含量),也叫饱和度/彩度。 亮度:是指颜色中黑色的含量。 发光体的光源面积之比(黑色的含量) 对比度:前景色与背景色之间的差异。 明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小。 Web 安全色:不需要担心颜色在不同硬件环境、操作系统和浏览器之间的差异。 不必担心因不同硬件(浏览器)而造成的颜色不同。Web 安全色目前基本具有 216 种颜色,其中色彩为 210 种(开发时使用的颜色),非色彩为 6 种。 关于 Web 安全色的具体颜色以及值,可以参考 https://www.bootcss.com/p/websafecolors/。 前景色与背景色 CSS 中的前景色和背景色就是 color 和 backgorund-color 两个属性,其中 color 属性表示前景色,background-color 属性表示背 ...







