ORM的补充
之前学习的orm的操作类似:
create
delete
update
filter/all
exclude
values
values_list
get
first
last
order_by
补充两个
only 和 defer
从字面意思就可以得到 only仅仅查找这个内容
only()-------> 仅仅查找它所规定的
user表内有有id name pwd 这三列
比如查询user表内 id 和name这两列的内容
user_lidt = User.objects.all().only('id','name')
defer() -------> 查询排除选中的所有内容
查询排除pwd'的所有内容
user_list = User.objects.all().defer('pwd')
当你在数据库中设置了一个字段可以选择对应的汉字的时候:
valid_period_choices = ((1, '1天'), (3, '3天'),
(7, '1周'), (14, '2周'),
(30, '1个月'),
(60, '2个月'),
(90, '3个月'),
(180, '6个月'), (210, '12个月'),
(540, '18个月'), (720, '24个月'),
)
就是给valid_period这个字段用choice设置一个可以选择的信息
这个时候我们取值的时候如果想取初对应的字段的中文 就可以用get_字段_display()这个方法来取对应的值
get_字段_display()
取上面的字段的对应的中文
对象.get_valid_period_display()
related_name
字段中可以加一个属性related_name 这个是关联其他表并且给自己的表 起名字的属性 以后外键表查找的时候就使用related_name 后面的值来查找
chapter = models.ForeignKey("CourseChapter", related_name='coursesections')
外键表CourseChapter 查找这个表就使用 releted_name 后面的值来查找
并且关联表的时候也可以使用Content_Type来进行查找使用
ORM的补充的更多相关文章
- Django ORM操作补充
操作补充 only 只取某些去除其他 defer 去除某些取其他 # 需求: 只取某n列 queryset=[ {},{}] models.User.objects.all().values( 'id ...
- ORM 效率补充
1.only defer only: 获取数据表中某列或多列的值,注意获取的是对象,如果查询字段不是括号内的,效率反而变低 defer: 获取除了某列或某几列的数据,注意获取的是对象 User.ob ...
- Dapper小型ORM的使用(随便吐槽下公司)
近来公司又有新项目要做,之前做项目用过蛮多ORM,包括ef,NetTiers,ServiceStack.OrmLite等ROM,每种ORM都有一定的坑(或者说是使用者的问题吧~~).用来用去都觉的有一 ...
- Django知识补充
目录 一.文件上传 二.Models补充 三.Django总结 一.文件上传 1.通过form表单或者通过From类上传 views.py from django.shortcuts import r ...
- [oldboy-django][2深入django]ORM操作
推荐学习博客:http://www.cnblogs.com/wupeiqi/articles/6216618.html 需求: 汇总django orm操作,代替原生mysql语句来操作数据库:里面内 ...
- Python Django系统
本节内容 路由系统,视图函数,模板引擎,ORM操作 FBV和CBV ORM操作补充 Cookie和Session Ajax入门 1. Django基本内容整理 1.1 路由系统 Django中路由系 ...
- Python 目录指引
1.0 Python 基础整合 1.1 变量 1.2 数据类型 1.3 基础语法 1.4 文件操作 1.5 函数 1.6 生成器 1.7 迭代器 1.8 装饰器 1.9 字符集 2.0 Python ...
- python之面试复习
待整理:osi七层协议,tcp三次握手四次挥手 1.Http协议(超文本传输协议) 是一种传输数据的格式. 建立在TCP之上 一次请求一次响应,然后断开连接(短连接,无状态) 请求:请求头 \r\n\ ...
- 朱晔的互联网架构实践心得S2E1:业务代码究竟难不难写?
注意,这是我的架构实践心得的第二季的系列文章,第一季有10篇你也可以回顾. 见https://www.cnblogs.com/lovecindywang/category/1296779.html 最 ...
随机推荐
- Java网络编程(一)
Java网络编程: 1.1: 网络编程:对于我这个“研究不深”的网络菜鸟来说,我觉得网络编程就是实现计算机与计算机之间通信的编程.写些能够实现计算机与计算机之间的通信就行了(目前来说). 1.2:一台 ...
- BST转换成有序链表
把二元查找树转变成排序的双向链表(树)题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调整指针的指向. struct BSTreeNode{ int va ...
- Java将Excel的列数以字母表示的字符串转换成数字表示
我们知道,在 Excel 中,行数用数字表示,而列数是用字母表示的(如下图所示),有时候需要把它转换成数字来使用,或者把数字转换成字母.(例如使用POI操作Excel) 下面是转换代码,用来进行字母和 ...
- Bitcoin交易及验证
目录 UTXO 理解 交易的结构 交易的确认 交易验证 逆波兰表示法 使用逆波兰表示法验证交易 UTXO 理解 未花费交易输出: Unspent Transxtion output UTXO---用比 ...
- 周记7——ios中picker滑动穿透bug
Bug描述:使用mint-ui的picker组件时,datepicker和picker在ios的webview(bug是在Hybrid App发现的)中会出现滑动穿透的现象,导致弹层后面的页面也会滚动 ...
- Python(2):创建函数模块
说明: 在使用python的时候我们除了使用内置的函数之外,可能还需要使用一些别人写的函数.或者我们写的代码也希望可以给其他人使用.要实现这样的功能,我们就需要按照下面的步骤来定义自己的模块: Ste ...
- c#和java中封装字段的不同
c#: private String name; public String Name { get { return name; } set { name = value; } } .csharpco ...
- [转]高品质开源工具Chloe.ORM:支持存储过程与Oracle
本文转自:http://www.cnblogs.com/so9527/p/6131177.html 扯淡 这是一款高质量的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq.借助 lamb ...
- 过滤网址和输入框中的特殊字符,防止sql注入
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- 安装node.js webkit环境[一]
1. 安装node,设置代理npm config set registry https://registry.npm.taobao.org[cmd运行]2. 安装grunt-cli: npm inst ...