[Python]Django 数据库数据的增删改查(一)

简介: [Python]Django 数据库数据的增删改查

9e7485bd3344410292a6845f2fa22033.jpg

前言

系列文章目录

[Python]目录

视频及资料和课件

链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234

提取码:1234

1. shell

Django的manage工具提供了shell命令,以便可以直接在终端中执行测试python语句。

类似于ipython;

使用shell工具,可以帮助我们更好的测试代码,对于有关模型的代码(数据对象的增删改查)可以使用shell进行测试,就不用书写路由和请求响应到浏览器客户端进行查看。

启动shell,在命令窗口运行:

python manage.py shell

导入两个模型类,并查询两个模型类对应的所有数据对象:

# 导入两个模型类
from book.models import BookInfo,PeopleInfo
# 查询两个模型类对应的所有数据对象
BookInfo.objects.all()
PeopleInfo.objects.all()

有关模型类的代码写在models.py中,对数据进行增删改查的代码书写在views.py中,对数据进行增删改查需要实例化模型类,在views.py中导入模型类,对数据进行增删改查。

2. 新增数据

2.1 方式一:实例化模型类

from django.shortcuts import render
# 导入模型
from book.models import BookInfo
# Create your views here.
# 方法一
# 实例化模型类型对象,并且在实例化的时候为属性赋值
# 此种方法会返回对应的新数据对象
book = BookInfo(
    name='python',
    pub_date='2000-01-01'
    # 其他属性有默认值,这边就不进行赋值了
)
# 方法一需要主动的调用save()方法,将新增的数据对象同步到数据库中
book.save()

在shell中测试新增数据代码

2.2 方式二:直接新增入库

对数据进行增删改查都可以调用模型类的模型管理类objects

由于没有退出shell所以不用再次导入对应的模型类

# 方法二
# 直接新增数据对象入库
# 此种方法也会把新的数据对象返回给我们
# 新增数据调用objects的create方法
BookInfo.objects.create(
    name='java',
    pub_date='2010-01-01'
)

3. 修改(更新)数据

3.1 方法一:直接修改实例属性

# 方法一
# 直接修改实例属性,修改完成后,
# 需要对修改后的实例属性进行入库同步数据库
# 1. 先查询(获取)出需要进行修改的数据对象
#    对数据进行增删改查都可以调用模型类的模型管理类objects
#    查询数据调用objects的get方法
#    获取id=1的数据对象
book = BookInfo.objects.get(id=1)
# 2. 修改获取到的实例对象的实例属性
book.read_count = 2000
# 3. 调用save()方法同步数据库
book.save()

3.2 方法二:直接修改数据

# 方法二
# 先过滤出需要进行修改的数据对象,
# 然后直接修改数据
# 此方法会返回受影响的行数
# filter过滤
BookInfo.objects.filter(id=1).update(
    read_count = 100,
    comment_count = 2000
)

如果直接调用objects的update方法,不能过滤出指定的数据对象,使用该方法相当于对所有的数据对象进行修改。

4. 删除数据

4.1 方法一:先查询出指定数据再进行删除

# 方法一
# 1. 先查询出要删除的数据对象
book = BookInfo.objects.get(id=5)
# 2. 删除查询出来的数据对象
book.delete()

会有一定数据的返回

4.2 方法二:先过滤出指定数据再进行删除

# 方法二
# 先过滤出指定数据再进行删除
BookInfo.objects.filter(id=6).delete()

相关文章
|
4月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
526 7
|
4月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
2421 1
|
4月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
564 0
|
4月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
4月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
前端开发 数据库 Python
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
551 0
|
存储 关系型数据库 MySQL
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
30871 0
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
849 1
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
933 4
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
761 45

推荐镜像

更多