多平台统一管理软件接口,如何实现多平台统一管理软件接口
402
2022-08-31
Django(part26)--修改及删除记录(django 删除)
学习笔记,仅供参考
文章目录
数据库的操作(CRUD操作)
修改查询记录
修改单个实体的某些字段值通过QuerySet批量修改对应的全部字段
删除记录
删除单个对象删除查询结果集
数据库的操作(CRUD操作)
修改查询记录
修改单个实体的某些字段值
修改单个实体的某些字段值需要3个步骤:
查
通过get()得到要修改的实体对象
改
通过对象.属性的方式修改数据
保存
通过对象.save()保存数据
举个例子
在Django shell中敲入如下代码:
from bookstore import modelsauthor = models.Author.objects.get(id=1)author.age = 19author.save()
再查看bookstore_author数据表中的数据:
mysql> select * from bookstore_author;+----+--------+-----+----------------------+| id | name | age | email |+----+--------+-----+----------------------+| 1 | 山羊 | 19 | goatbishop@gamil.com || 2 | 小黄 | 10 | 1033794241@qq.com || 3 | 小黑 | 12 | xiaohei@gmail.com || 4 | 老山羊 | 25 | darkgoat@gmail.com |+----+--------+-----+----------------------+4 rows in set (0.00 sec)
我们发现,山羊的age已经被改为19岁。
通过QuerySet批量修改对应的全部字段
我们可以直接调用查询结果集QuerySet的update(属性=值)方法实现批量修改
举个例子
我们首先看一下bookstore_book数据表:
mysql> select * from bookstore_book;+----+-------------------+----------------+| id | title | pub |+----+-------------------+----------------+| 1 | Djangoweb开发实战 | 清华大学出版社 || 2 | python | 机械工业出版社 || 3 | R | 人民邮电出版社 || 4 | 数据处理 | 清华大学出版社 || 5 | 算法 | 人民邮电出版社 || 6 | 小黄 | 山羊出版社 || 7 | 大白 | 山羊出版社 |+----+-------------------+----------------+7 rows in set (0.00 sec)
在Django shell中敲入如下代码:
# 将id大于5的所有图书的出版社改为黑山羊出版社In [22]: books = models.Book.objects.filter(id__gt=5) ...: books.update(pub="黑山羊出版社") ...:Out[22]: 2
我们再看一下bookstore_book数据表:
mysql> select * from bookstore_book;+----+-------------------+----------------+| id | title | pub |+----+-------------------+----------------+| 1 | Djangoweb开发实战 | 清华大学出版社 || 2 | python | 机械工业出版社 || 3 | R | 人民邮电出版社 || 4 | 数据处理 | 清华大学出版社 || 5 | 算法 | 人民邮电出版社 || 6 | 小黄 | 黑山羊出版社 || 7 | 大白 | 黑山羊出版社 |+----+-------------------+----------------+7 rows in set (0.00 sec)
可以看到bookstore_book数据表已经进行了更新。
删除记录
删除记录是指删除数据库中的一条或多条记录,删除单个Entry对象或删除一个查询结果集(QuerySet)中的全部对象都是调用delete()方法
删除单个对象
删除单个对象的步骤:
查找查询结果对应的一个数据对象调用这个数据对象的delete()方法实现删除
举个例子
在Django shell 中敲入如下代码:
try: book = models.Book.objects.get(title="大白") book.delete()except: print(删除失败)
查看bookstore_book数据表:
mysql> select * from bookstore_book;+----+-------------------+----------------+| id | title | pub |+----+-------------------+----------------+| 1 | Djangoweb开发实战 | 清华大学出版社 || 2 | python | 机械工业出版社 || 3 | R | 人民邮电出版社 || 4 | 数据处理 | 清华大学出版社 || 5 | 算法 | 人民邮电出版社 || 6 | 小黄 | 黑山羊出版社 |+----+-------------------+----------------+6 rows in set (0.00 sec)
很好,已经被删除了。
删除查询结果集
删除单个对象的步骤:
查找查询结果集中满足条件的全部QuerySet查询集合对象调用查询集合对象的delete()方法实现删除
举个例子
在Django shell 中敲入如下代码:
auths = models.Author.objects.filter(id__gt=2)auths.delete()
查看bookstore_author数据表:
mysql> select * from bookstore_author;+----+------+-----+----------------------+| id | name | age | email |+----+------+-----+----------------------+| 1 | 山羊 | 19 | goatbishop@gamil.com || 2 | 小黄 | 10 | 1033794241@qq.com |+----+------+-----+----------------------+2 rows in set (0.00 sec)
很好!记录已经被删除了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~