Python Django 开发 3 数据库CURD
上一篇表建好后开始对数据进行CURD操作
dos输入:
>>>python manage.py shell
以下的命令都是在shell中测试
(C)增:
>>>import myLesson import Blog
>>>b = Blog(name = 'Frist Blog', tagline = 'All')
>>>b.save()
>>>b.id
1
操作都是以对象.save()的方式来保存到数据库,用官方的话是:
To create an object, instantiate it using keyword arguments to the model class, then call save() to save it to the database.
机器翻译:创建一个对象,使用关键字参数模型类的实例化它,然后调用save()来将其保存到数据库中。
save()方法是没有返回值的,所以最后一个输出自增的ID编号
如果需要直接写入,不使用save方法,如下:
Blog.objects.create(name = 'Frist Blog', tagline = 'All')
(U) 改:
>>>b.name
Frist Blog
>>>b.name = 'New name'
>>>b.save()
>>>b.name
New name
另一种直接修改的方法:
Blog.objects.filter(id = 1).update(name = 'New name')
(R)查:
>>>nb = Blog.objects.get(id = 1)
>>>nb.name
u'New name'
get方法只用于查询返回只有一条数据的情况,如果没有返回值或有多个返回值,就会报错,这时候可以使用filter函数,返回一个QuerySet对象,类似结果集对象
nb = Blog.objects.filter(id=1)
查询所有:Blog.objects.all()
排序:Blog.objects.all().order_by('id') ,这样是升序,降序字段前面加个“-”号,order_by('-id'), 根据多个字段排序:**.order_by('id','name')
限定条数:Blog.objects.all().order_by('id')[0:10] ,因为all这样返回的是列表,所以可以用Python中的列表处理函数来处理
(D)删:
>>>nb.delete()
数据已删掉,但nb对象还保存值
然而,这些是最基本的用法,光知道这些没有一点卵用,我研究研究先
Python Django 开发 3 数据库CURD的更多相关文章
- Python Django 开发 2 数据库
一半教程用的Django都是1.8以前的版本,导致跟我用的1.8.2的版本用法有些出入,所以只能自己去官网看文档,以下一下是看官方文档而理解的,英语渣渣,可能会有理解有误的地方 先记录下如何查看dja ...
- python——django使用mysql数据库(二)
上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...
- python——django使用mysql数据库(一)
之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...
- 使用 Visual Studio Code(VSCode)搭建简单的 Python + Django 开发环境
写在前面的话 作为有个 Python 菜逼,之前一直用的 Pycharm,但是在主题这一块怎么调整都感觉要么太骚,看起来不舒服,要么就是简直不能看.似乎用大 JB 公司 IDE 的人似乎都不怎么重视主 ...
- Python Django开发遇到的坑(版本不匹配)
这个问题 进入django 后台, 添加,修改都不可以,只有删除可以,那么百分之百是这个问题 对照一下,是你的django 版本低了还是 python版本高了,对照的话就没问题了 这个坑,弄了两天啊! ...
- Python+django开发环境搭建
Python目前主版本有2个,2.7+和3.4+ 新入手,决定还是从2.7开始 先从python官网https://www.python.org/下载python2.7.10,64位版本(这里注意,选 ...
- Python Django 开发 4 ORM
第三篇最后写了,光知道那些基础的查询在项目中是没有什么卵用的,重点是实体关系映射(ORM),今天学习了,来记录一下,关键词:ForeignKey(多对一).OneToOneField(一对一).Man ...
- python+Django+test 测试数据库生成报错
前提: 使用Django自带的test进行单元测试. 问题描述: 运行:python manage.py test,报错,出现数据库乱码的现象,报错如下: Creating test database ...
- 使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
安装配置 VSCode [1]安装 VSCode: 下载地址:https://code.visualstudio.com/ 根据自己电脑对应的操作系统下载对应的版本即可,至于安装过程也和一般的软件一样 ...
随机推荐
- centos基本操作
yum install nodejs npm install -g shadowsocks nohup ssserver & 后台运行 vi /usr/lib/node_modules/sha ...
- Qt学习笔记:Qt中使用Lua
今天想在Qt中使用Lua进行数据操作 结果发现在Qt中使用Lua的文章较少,虽然很简单,但是还是写出来提供入门,顺便记录一下 我使用的是Qt Creator 3.4.2,用的是mingw4.9.2的编 ...
- atitit.避免NullPointerException 总结and 最佳实践 o99
atitit.避免NullPointerException 对于返回集合的方法很简单,只需要返回空的集合就可以了,而不是null. 1 一种可选办法就是不使用空返回值,而是空对象模式: 1 直接抛出e ...
- paip.提升效率--数据绑定到table原理和流程Angular js jquery实现
paip.提升效率--数据绑定到table原理和流程Angular js jquery实现 html #--keyword 1 #---原理和流程 1 #----jq实现的代码 1 #-----An ...
- (转)数据库获得当前时间getdate()
CONVERT(nvarchar(10),count_time,121): CONVERT为日期转换函数,一般就是在时间类型 (datetime,smalldatetime)与字符串类型(nchar, ...
- MFC可编辑ListBox控件CEditableListBox
左击选中单元格,右击进入编辑状态. MFC自定义控件的添加方法C#自定义控件编译后就自动出现在工具箱里.MFC的自定义控件需要先拖个基类到对话框上,然后添加一个控件变量.再修改源代码中的控件名为扩展控 ...
- 搭建windows的solr6服务器
准备工作: 目前最新版本6.0.下载solr 6.0:Solr6.0下载 JDK8 下载jdk1.8:jdk1.8[solr6.0是基于jdk8开发的] tomcat8.0 下载:tomcat8 ## ...
- [leetcode]Find Minimum in Rotated Sorted Array @ Python
原题地址:https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/ 解题思路:话说leetcode上面的二分查找题目 ...
- "无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开"解决办法
当程序用ado的jet4.0方式连接mdb数据库的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”. ADOConne ...
- 自定义Property属性动画
同步发表于 http://avenwu.net/customlayout/2015/04/06/custom_property_animation/ 代码获取 git clone https://gi ...