django基础知识~models畅谈
一 简介 来聊聊 models
二 查询详解
1 models.object.filter(条件)
1 可以获取多条记录,通过distinct()函数进行排重
2 exclude()和filter()对应 一个是排除一个是过滤
3 User.objects.filter().first()
2 models.object.get(条件)
1 只能获取单条唯一记录,否则会报错
三 通用属性
.query属性
str(Author.objects.all().query) 通过.query属性进行sql原始打印
四 多对多查询
1 建立多对多属性的话,django会自动建立关联models的中间表,存储两个models的相关ID对照
2 反向查询(子表查询母表,或者母表查询子表)->推荐使用
母表对象.filter(表表名小写__子表字段名="过滤条件")
比如用户和角色表,想查用户拥有的权限,可以直接通过角色表进行反向查询即可
Role.objects.filter(user__name='dengzhihang').values('permissions__url')
3 泛解析示例代码
SELECT `cmdb_permission`.`url` FROM `cmdb_role #用户role表 对应Role`
INNER JOIN `cmdb_user_roles// 用户 role和user中间表` ON (`cmdb_role`.`id` = `cmdb_user_roles`.`role_id`)
LEFT OUTER JOIN `cmdb_role_permissions 用户role和permissions中间表`
ON (`cmdb_role`.`id` = `cmdb_role_permissions`.`role_id`)
LEFT OUTER JOIN `cmdb_permission /#permission权限表
ON (`cmdb_role_permissions`.`permission_id` = `cmdb_permission`.`id`) WHERE `cmdb_user_roles`.`user_id` = 22 #请注意这里的条件过滤
原文地址:https://www.cnblogs.com/danhuangpai/p/11016010.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法