from weibo.models import WeiboUser as User
user_obj = User.objects.get(pk=1)
user_obj.pk
Out[4]: 1
user_obj.username
Out[5]: '张三'
user_obj.password
Out[6]: '11111'

list_all = User.objects.all()
list_all
Out[8]: <QuerySet [<WeiboUser: WeiboUser object>, <WeiboUser: WeiboUser object>]>
for user in list_all:
...: print(user.username)
...: print(user.password)
...:
张三
11111
quan
2222
通过get方法进行查询,得到的是一个具体的单个信息
使用all方法查询的出来的是一个结果集,不能直接得出信息
需要通过循环才能得到结果的具体信息

查询需要注意的东西是:

可能会出现异常,我们要进行异常的处理

user = User.objects.get(pk=30)
Traceback (most recent call last):
File "D:\anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3331, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-18-17983c9c8a02>", line 1, in <module>
user = User.objects.get(pk=30)
File "D:\anaconda\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "D:\anaconda\lib\site-packages\django\db\models\query.py", line 380, in get
self.model._meta.object_name
weibo.models.DoesNotExist: WeiboUser matching query does not exist.
try:
...: user = User.objects.get(pk=20)
...: except User.DoesNotExist as e:
...: print("error")
...:
error

第二个异常:

注意:使用get语句不出现异常的前提是,数据库只有一条且是唯一的,没有记录不行,查询出多条记录也是会出现异常的

from weibo.models import WeiboUser as User
user_obj = User.objects.get(pk=1)
user_obj.nickname
Out[4]: '零零零零'
user_obj.nickname = "全植强"
user_obj.nickname
Out[6]: '全植强'
#####在这里之前,数据库都是没有进行数据的更改的,直到使用save的时候才会更改
user_obj.save()

第一种办法:直接一条代码搞完

user_list = User.objects.all().update(password='2020')

第二种方法:

user_list = User.objects.all()
user_list.update(password = '1997')
Out[11]: 2
最后输出的2代表的 是做出更改的数据的总数

注意:使用all这种方法进行数据的全部变更,最好再三确认,因为这可能是成百上千的数据更改

最好做以下数据的备份

通过查询方法get得到一个对象,再使用对象里面的delete方法
from weibo.models import WeiboUser as User
user_obj = User.objects.get(pk =1)
user_obj.username
Out[5]: '张三'
user_obj.delete()
Out[6]: (1, {'weibo.Commont': 0, 'weibo.Friend': 0, 'weibo.WeiboUser': 1})

user_obj = User.objects.get(username='quan')
user_obj.username
Out[8]: 'quan'
user_obj.status = 0
user_obj.save()

python-django使用ORM模型增删改查CRUD的更多相关文章

  1. Python学习---django之ORM的增删改查180125

    模型常用的字段类型参数 <1> CharField        #字符串字段, 用于较短的字符串.        #CharField 要求必须有一个参数 maxlength, 用于从数 ...

  2. Django之ORM的增删改查

    一.添加表记录 对于单表有两种方式 # 添加数据的两种方式 # 方式一:实例化对象就是一条表记录 Frank_obj = models.Student(name ="海东",cou ...

  3. Django的ORM基础增删改查

    查询 all() 返回模型类对应表格中所有数据,返回查询集 get() 返回表格中满足条件的一条且只能有一条数据 如果查到多条数据,则抛异常:MultipleObjectsReturned 查询不到数 ...

  4. Django之ORM的增删改查操作流程

    总结:ORM的 查.增.删.改 - 查 - client - 有一个展示页面(xxx_show.html) - 这一个页面一输入执行后,get请求向server端发送 - 这个展示页面有添加按钮.删除 ...

  5. Django之ORM数据库增删改查

    总结:ORM的 查.增.删.改 - 查 - client - 有一个展示页面(xxx_show.html) - 这一个页面一输入执行后,get请求向server端发送 - 这个展示页面有添加按钮.删除 ...

  6. Django ORM 数据库增删改查

    Django ORM 数据库增删改查 增 # 创建.增加数据(推荐) models.UserInfo.objects.create(username=') # 创建.增加数据 dic = {'} mo ...

  7. python学习之-成员信息增删改查

    python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...

  8. python manage.py shell 的增删改查

    python manage.py shell 的增删改查 guoguo-MacBook-Pro:myblog guoguo$ python manage.py shell Python 3.5.1 ( ...

  9. IDEA SpringBoot-Mybatis-plus 实现增删改查(CRUD)

    上一篇: IDEA SpringBoot-Mybatis实现增删改查(CRUD) 下一篇:Intellij IDEA 高效使用教程 (插件,实用技巧) 最好用的idea插件大全 一.前言 Mybati ...

随机推荐

  1. 欧姆龙plc通讯协议格式

    欧姆龙CPM1A型plc与上位计算机通信的顺序是上位机先发出命令信息给PLC,PLC返回响应信息给上位 机.每次通信发送/接受的一组数据称为一"帧".帧由少于131个字符的数据构成 ...

  2. Java并发:ReadWriteLock 读写锁

    读写锁在同一时刻可以允许多个线程访问,但是在写线程访问,所有的读线程和其他写线程均被阻塞. 读写锁不像 ReentrantLock 那些排它锁只允许在同一时刻只允许一个线程进行访问,读写锁可以允许多个 ...

  3. 【转】PLI是什么以及怎么用

    programmable language interface 这里就说给verilog用的一些系统函数,还是无双大大的帖子 首先介绍了怎么让你自己写的pli系统函数在ncverilog里面可以成功调 ...

  4. 求1+2+3...+n 牛客网 剑指Offer

    求1+2+3...+n 牛客网 剑指Offer 题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). ...

  5. 电路维修(双端队列 & 最短路)

    达达是来自异世界的魔女,她在漫无目的地四处漂流的时候,遇到了善良的少女翰翰,从而被收留在地球上. 翰翰的家里有一辆飞行车. 有一天飞行车的电路板突然出现了故障,导致无法启动. 电路板的整体结构是一个$ ...

  6. P2472 [SCOI2007]蜥蜴(最大流)

    P2472 [SCOI2007]蜥蜴 自己第一道独立做题且一遍AC的网络流题纪念... 看到这道题我就想到网络流建图的方式了... 首先根据每个高度,我们将每个点拆成两个点限流.之后根据跳的最大距离, ...

  7. dns+nginx实现多虚拟主机

    借鉴于朋友的需求,公司需要启用域名访问内部的业务系统,现实情况是内部的业务系统目前使用的是单主机,单nginx多端口的方式再运行,朋友最终想实现启用域名方式问题,且域名不需要用户手工输入端口号 两种思 ...

  8. idea离线安装lombok插件

    1.查看自己idea版本,2019.1.2,必须安装相同版本的插件 2.从http://plugins.jetbrains.com/plugin/6317-lombok-plugin中下载对应版本的l ...

  9. MyCat读写分离+MySql主从(一主一从)

    数据库一直在项目担当着一位核心的角色,是所有项目结构中的底层,说白了,我们程序员进行项目开发都是在和数据打交道,而数据都是保存在数据库中,如mysql.oracle.postgresql等等,如果一个 ...

  10. Oracle system 用户无法登录问题

    新手刚用Oracle数据库时,可能会遇到system用户无法登录情况. 问题原因:1.可能输入默认密码时输入错误(比较低级,一般不会范). 2.可能你在安装的时候设置了密码,但是在登录的时候密码不正确 ...