八月22日,django知识点总结:

同步数据库
python manage.py makemigrations
python manage.py migrate

一、增删改查

	1、添加表内容(三种方式)
		1.1 obj = models.UserType(列名=‘内容’)
			obj.save()
		1.2 models.UserType.objects.create(列名=‘内容’)

		1.3user_dict={‘列名‘:‘内容’,‘列名‘,‘内容’}
			models.UserType.objects.create(**user_dict)

	2、查询数据
		2.1 request.POST.get(‘usernaem‘)
			#获取单条数据,不存在则报错(不建议)

		2.2 ret =models.UserType.objects.all()
			#获取全部
			print(type(ret),ret.query)
			for item in ret:
				#根据循环可以输出表内容
				print(item,item.nid,item.caption)

			#ret.query 返回一个原生SQL
			#ret,得到一个特殊的QuerySet对象

		2.3 ret =models.UserType.objects.all().values(‘nid‘)
			print(ret)

			#values(‘xxx‘) #返回一个列表中包含字典

		2.4 ret=models.UserType.objects.all().values_list(‘nid‘)
			print(‘ret‘)

			#返回一个列表中加元组

		2.5 model.UserType.objects.filter(name=‘name‘)
			# 获取指定条件的数据

	3、更改数据库内容
		3.1 models.UserInfo.objects.filter(user=‘alex‘).update(email=‘[email protected]‘)
			#将指定的条件更新到数据库,可以使用字典**kwargs

		3.2 obj = models.UserInfo.objects.get(user=‘alex‘)
			obj = email=‘[email protected]!!!!!‘
			obj.save()
			#修改单条数据

	4、删除数据
		4.1models.UserInfo.objects.filter(name=‘alex‘).delete()
			按条件删除

二、双下划线操作
	1.连表操作
		1.1 ret =models.UserInfo.objects.all().values(‘user‘,‘user_type__caption‘)
			##user_type__caption  __双下划线在这是执行连表操作,输出另外表内容

		1.2 拿出类型是超级管理员的所有用户
			ret = models.UserInfo.objects.filter(user_type__caption="管理员").values(‘user‘,‘user_type__caption‘)

	2.多对多(ManyToMany)
		注:创建多台主机,多个部门
		1.自动创建关系表
			1.1 h2g =models.ManyToManyField(‘host‘)
				#创建多对多关系
				1.1.1 将多台机器分配给一个组
					add添加关系,remove 删除表关系,delete删除表关系和表 set 添加,删除

					h = Host.objects.get(hid=1) ##只删除表关系
					h.group_set.remove(*Group.objects.filter(gid__gt=1))

					h = Host.objects.get(hid=1)   ##添加表关系
					h.group_set.add(*Group.objects.filter(gid__gt=1))

					h = Host.objects.get(hid=1)
					h.group_set.all().delete() #delete删除表关系和表

					obj =Group.objects.get(gid=1)
					print(obj.gid,obj.name,obj.h2g.all())
						#bj.h2g.all() 是关系表,没创建关系输出空列表

					q =models.objects.filter(hid__gt=3)
					obj.h2g.add(*q)
						#将多台主机分到obj组

				2.2.2 将一台主机分给多个组
					h =Host.objects.get(hid=1)
					obj =Group.objects.get(gid=1)
					obj.h2g.add(h)    ##主机id等于1分配到第一组
					obj =Group.objects.get(gid=2)  ##
					obj.h2g.add(h)###主机id等于1分配到第二组

					h =models.Host.objects.get(hid=1) ##找到第一台主机
					h.group_set.add(*Group.objects.filter(gid__gt=2))
						#gid大于2的所有分组分配给H主机

				反向查找 表名__set ,查找什么表名就是什么
				h.models.Host.objects.get(hid=1)
				h.group_set.add(*models.Group.objects.filter(gid__gt=12))

				注:
					h = Host.objects.get(hid=1)
					h.group_set.add(1) ##可以直接写数字添加
					h.group_set.add(Group.objects.get(gid=1))
					h.group_set.add(*[1,2,3]) ##可以用列表添加关系
					h.group_set.set(Group.objects.filter(gid__gt=18), clear=True)
					clear = True  清空在设置,
					set 表中没有的添加,
				注:附加
					update_or_create,get_or_create 这两个是一样的
					都是给group和关系表 添加数据   前提是关系表里不存在这个数据
					列:

					# r = h.group_set.update_or_create(name=‘技术部‘)
					如果没有技术部,就给group组中加上技术部,关系表中自动关联一条数据
					# print(r)
					# r = h.group_set.get_or_create(name=‘人事部‘)
					# print(r)

		2.自己创建表关系
			HostToGroup.objects.create(Host_id_id=1,group_id_id=2,status=11)
			#添加内容

  

时间: 2024-10-11 05:46:35

八月22日,django知识点总结:的相关文章

python Django知识点总结

python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创建表--python manage.py makemigrations --python manage.py migrate 其他命令: python manage.py runserver 0.0.0.0 python manage.py stratapp appname python manag

京东路演认购超3倍 22日挂牌纳市估值246亿美元

美国时间 5 月 19 日,京东(滚动资讯)向美国证券交易会递交了其更新的招股书,披露了其截至 2014 年一季报的财务数据.2014 年一季度,京东净营业收入为 226.57 亿,相较于去年的 137.25 亿同比增长 65.1%:净利润则为亏损 37.95 亿,去年同期净利润则为 1300 万. 京东已确定将于 5 月 22 日正式在纳斯达克证交所挂牌上市,交易代码为 JD.京东此次融资额为 17 亿美元.预期发行价在 16 美元至 18 美元之间,按此估算京东总市值规模约为 246 亿美元

金碧辉煌!皇城定制5月22日正式对外运营开业!

2016年5月20日,皇城定制创始人宋沁沁发布声明:"皇城定制将于5月22日正式对外运营开业!"开业的地点,选在深圳市福田区皇御苑皇城广场352号,皇城定制诚邀广大消费者光临现场! 据了解,本次皇城定制正式对外运营开业,有诸多大型企业与商业大咖莅临现场,参与开业剪彩仪式,届时,整个皇城广场将会众星云集,蓬荜生辉!而在此之前,已经有诸多知名人士为皇城定制送上了自己衷心的祝福,祝愿皇城定制在开业后,扶摇直上,熠熠生辉! (图为会所的一角.) 皇城定制,是一家专业的高端会员定制服务平台,旗下

中级学员:2015年10月22日作业

中级学员:2015年10月22日作业一.采购管理1.采购管理的主要过程:2.工作说明书与范围说明书的区别:3.招投标程序是什么:4.采购审计的定义和内容.二.信息(文档)和配置管理1.文档从项目周期角度分为哪三类:2.图表编号规则,说明之:3.配置管理活动和流程:4.简述四种配置库及主要内容:5.简述配置项版本号标识的内容:6.功能配置审计包括哪些内容:7.物理配置审计包括哪些内容. 最晚提交时间:下次上课前. 提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的

43_2013年11月22日 线程池 Socket(Thread Lock Process 摇奖 线程池ThreadPool)

1>模拟线程池,生产者消费者问题 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Product { class Program { static void Main(string[] args) { //创建一个池子 MyConncetion[]

Android 2014年1月22日

一.广播优先顺序 Android广播有两个很重要的要素:    1 广播 - 用于发送广播 有序广播  -  被广播接收器接收后,可被终止,无法往下继续传达.         典型代表:短信广播 普通广播  -  发送至每一个已经注册(订阅)的广播接收器,无法被终止. 典型代表:开机启动广播    2 广播接收器 - 用于订阅广播后接收广播 静态注册广播 - 在AndroidManifest.xml中设置,程序不用启动亦可接收. 典型代表:很多开机启动的APP,都是接收开机启动广播带起服务的.

2017年7月22日~23日,深圳市共创力为某上市企业提供整机设计工程内训服务!

2017年7月22日~23日,深圳市共创力咨询资深顾问李齐天老师为某上市企业提供了<整机系统设计方法与实践>的内训服务!该公司是武汉光谷著名的通信企业,研发团队超过1000多人,此次培训的引进公司领导层经过多方的选择和考察,最终选定李齐天老师为主讲老师. 2017年7月22日上午9点,公共研发部副总经理刘总宣布培训正式开始,接着共创力助教蔷薇对本次培训的目标进行宣读,正式进入了为期两天的整机系统设计培训之旅.李齐天老师分别从IPD流程.MM流程.OR流程.整机SE的开发设计活动.模板与案例演练

2016年6月22日

开机的时候,时间刚好是19:44.搜索了一下1944年6月22日,并没有什么特别的事情. 晚饭和很多同事一起聚餐,总是感觉特别孤独和自卑,整个饭桌上,一言不发的也就只有我而已.实在是没有什么想说的,没有什么要表达的,只是觉得非常尴尬,格格不入并且感觉痛苦.我这样的人,真是不合适于这样的世界,这样的世界,是以人与人之间的关系作为纽带,作为基石的:生活,工作,若不擅于表达,便会变得艰难. 本该是一件很简单的事情吧.人人生来都拥有的本领和热情. 建模的鞋子删掉了一些点,使用笔刷工具很方便可以讲线布的平

9月22日全球域名商(国际域名)解析新增保有量TOP20

IDC评述网(idcps.com)09月28日报道:根据DailyChanges公布的最新数据显示,在2015年9月22日,全球域名解析新增保有量二十强榜单中,中国占据4个席位.其中,中国万网.易名中国分获冠亚军,排名环比上期无变化,新增保有量依次达到13,848个.11,327个.下面,请看IDC评述网整理的具体数据情况. (图1)全球域名解析商(国际域名)新增保有量TOP20分布图 通过图1,可了解到在9月22日,中国万网.易名中国的域名解析新增保有量均超过1万,排名稳居前二.接下来,依次是