Django中ORM操作
ORM操作:
class UserInfo(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=64)
dp = models.ForeignKey(to='DePart',to_field='id')
# depart = models.ForeignKey('DePart')
class DePart(models.Model):
title = models.CharField(max_length=16)
# ForeignKey查询
# 正向跨表查询
# 1.对象
# q = models.UserInfo.objects.all()
# for row in q:
# print(row.username,row.password,row.dp_id,row.dp.id,row.db.title)
# 2.字典
# q = models.UserInfo.objects.values('username','password','dp_id','dp__title')
# for row in q:
# print(row['username'],row['dp__title'])
# 3.元祖
# q = models.UserInfo.objects.values_list('username','password','dp_id','dp__title')
# for row in q:
# print(row[0],row[3])
# 反向跨表查询
# 1.对象
# v = models.DePart.objects.all()
# for row in v:
# print(row.id,row.title,row.userinfo_set.all())
# 2.字典
# v = models.DePart.objects.values('id','title','userinfo__username','userinfo__password')
# for row in v:
# print(row)
# 3.元祖
# v = models.DePart.objects.values('id','title','userinfo__username','userinfo__password')
# for row in v:
# print(row)
# 自己写第三张表
def U2G(models.Model):
ui = models.ForeignKey('UserInfo')
ug = models.ForeignKey('UserGroup')
# 添加数据
models.U2G.objects.create(ui=1,ug=1)
models.U2G.objects.create(ui=1,ug=2)
models.U2G.objects.create(ui=2,ug=1)
models.U2G.objects.create(ui=2,ug=2)
# 查询
q = models.U2G.objects.all()
for row in q:
print(row.ui.username)
print(row.ug.caption)
# django 自动生成
m = models.ManyToManyField('UserInfo')
增加:
obj = models.UserGroup.objects.filter(id=2).first()
obj.m.add(1)
obj.m.add(1,2,3)
obj.m.add(*[1,2]) #一次多加一个
删除:
obj = models.UserGroup.objects.filter(id=2).first()
obj.m.remove(1)
obj.m.remove(2,3,4)
obj.m.remove(*[2,3,4])
清空:
obj.m.clear() # 没有参数
更新:设置为什么, 最后就只有什么
obj.m.set([3,])
查询:
q = obj.m.all()
print(q)
q = obj.m.filter()
Django中ORM操作的更多相关文章
- 1122 django中orm操作
目录 1. 静态文件的配置 手动静态文件的访问资源 静态文件的动态绑定 2.request方法 2.1 请求方式 2.2 获取前端的请求方式 request.method 2.3 request方法 ...
- Django中ORM操作提升性能
提升orm操作性能注意的点 优化一:尽量不查对象,能用values就是用values 直接使用对象查询的结果是5条sql语句 def youhua(request): # 使用对象查 obj_list ...
- 6月20日 Django中ORM介绍和字段、字段参数、相关操作
一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...
- Django中ORM介绍和字段及其参数
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
- Django之ORM操作
Django之ORM操作 前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计 ...
- Django之ORM操作(聚合 分组、F Q)
Django之ORM操作(聚合 分组.F Q) 聚合 aggregate()是QuerySet的一个终止子句,也就是说,他返回一个包含一些键值对的字典,在它的后面不可以再进行点(.)操作. 键的名 ...
- Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)
Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...
- django中orm使用的注意事项
必备小知识点 <1> all(): 查询所有结果 <2> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者 ...
- Django之ORM操作(***)
Django之ORM操作(***) http请求的流程: url--> 视图view(模板+数据库) --> ORM的功能: 可以转换SQL语句,并做操作. ORM操作数据表: -创建表: ...
随机推荐
- 命令行窗口中用telnet测试HTTP协议
1. 命令行窗口中用telnet测试HTTP协议 HTTP消息是由普通ASCII文本组成.消息包括消息头和数据体部分.消息头以行为单位,每行以CRLF(回车和换行)结束,消息头结束后,额外增加一个CR ...
- 织梦cms网上复制图片不可用的解决方法
背景描述: 织梦cms采集图片集时, 需要使用织梦cms提供的"网上复制图片"的功能, 好像我这里这个功能一直不可用, 今天下定决心研究了下源代码并进行了适当修改, 将我的修改提供 ...
- LeetCode & Q53-Maximum Subarray-Easy & 动态规划思路分析
Array DP Divide and Conquer Description: Find the contiguous subarray within an array (containing at ...
- B树和B+树的插入、删除图文详解
简介:本文主要介绍了B树和B+树的插入.删除操作.写这篇博客的目的是发现没有相关博客以举例的方式详细介绍B+树的相关操作,由于自身对某些细节也感到很迷惑,通过查阅相关资料,对B+树的操作有所顿悟,写下 ...
- 求解数独难题, Sudoku问题(回溯)
Introduction : 标准的数独游戏是在一个 9 X 9 的棋盘上填写 1 – 9 这 9 个数字,规则是这样的: 棋盘分成上图所示的 9 个区域(不同颜色做背景标出,每个区域是 3 X 3 ...
- 百度播放器SDK 播放MP4格式视频有声音无画面问题解决
此处为记录解决过程. 所链接使用的MP4格式视频为codec id是mp4v-20.使用手机自带播放器可以播放,使用百度云媒体播放器不能无画面.经调试,Android Baidu-Cloud-Play ...
- Java-NIO(九):管道 (Pipe)
Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 代码使用示例: @Test public vo ...
- Java-NIO(五):通道(Channel)的数据传输与内存映射文件
通道(Channel)的数据传输(采用非直接缓冲区) @Test public void testChannel() throws IOException { FileInputStream file ...
- https://segmentfault.com/a/1190000004518374#articleHeader3
https://segmentfault.com/a/1190000004518374#articleHeader3 https://segmentfault.com/q/10100000049065 ...
- [JCIP笔记](四)踩在巨人的肩上
读完第三章那些繁琐的术语和细节,头疼了整整一个星期.作者简直是苦口婆心,说得我如做梦一般.然而进入第四章,难度骤然降低,仿佛坐杭州的过山公交车突然下坡,鸟鸣花香扑面而来,看到了一片西湖美景. 从开始看 ...