Django自学笔记 5-1 基础增删查改

Django数据库建立一个可选择的单选:男女性别 sex_choice = ( (0, '女性'), (1, '男性'), ) class Author(models.Model): name = models.CharField( max_length=32) age = models.IntegerField() sex_choice = ( (0, '女性'), (1, '男性'), ) sex = models.IntegerField(choices=sex_choice,default=1) #choic 阅读详情

————总目录——前言——框架版本————

======================= 大爽歌作,made by big shuang =======================

一、基础增删查改

第四章介绍了模型类models.Model和创建模型,相当于介绍了数据库表和如何创建数据库表。
这一章将介绍如何使用模型对数据库表进行增删查改,

注意:修改了模型类models.Model后一定要更新数据库(详见第四章第一节第三部分),如果数据库表进行增删查改则不必。

0 - 超实用工具介绍——Django下的交互式命令行

Django项目中,如果在项目实际使用的代码中,通过增删查改实现对应的业务逻辑,
测试起来会比较麻烦,(往往需要运行项目,按照一定的业务逻辑去重复性的手动测试),这种情况下,使用代码进行测试是一种更好的选择。

所以我们需要一个场景,可以直接运行代码,以方便我们测试业务代码逻辑本身是否正确。
这个时候,python的交互式命令行,就是一个十分有用的工具了,
但是导入项目本身依赖的配置和文件则有点麻烦,而Django本身则提供了一个方法解决这个问题。
在项目所在文件夹下打开命令行窗口,运行

python manage.py shell

即可开启导入了项目设置的命令行窗口,这时要使用项目中的某一代码文件中的代码,则像项目中编写代码那样正常导入即可。

示例效果如下

F:\my_projects\demo2>python manage.py shell
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from myapp import models
>>>

1 - 增(Create)——添加数据

myapp/models.py如下:

from django.db import models

class Person(models.Model):
    gender = (
        ('male', '男'),
        ('female', '女'),
    )

    name = models.CharField(max_length=60)
    sex = models.CharField(max_length=32, choices=gender, default='男')

要在数据库中增加记录,在Django下的交互式命令行执行代码如下

>>> from myapp.models import Person
>>> person = Person(name="Big Shuang", sex="male")
>>> person.save()

即可在数据库表中成功添加一行记录,如下

idnamesex
1Big Shuangmale

然后我们看下执行的代码,其实主要就是后两行
第二行创建一个 Person 实例,这个时候只是在程序中有了,但是数据库中还没有
第三行对该实例调用save方法,才会存储数据到数据库中。

2 - 查(Select)——查找数据

查找是个很复杂功能,这里只介绍一点基础的方法,详细的会在本章下一节展开讲讲。

  • 使用Model.objects.get(id=...),通过id查询Model表数据,其中Model是对应的模型名,该方法返回一个实例对象,查询不到会报错。
    示例如下(承接上文命令行中代码)
>>> p = Person.objects.get(id=1)
>>> p
<Person: Person object (1)>
>>> p.name
'Big Shuang'
>>> p.sex
'male'
  • 使用Model.objects.all()获取Model表所有数据,
    其中Model是对应的模型名,该方法返回一个QuerySet对象,该对象也会在下一节展开讲。
    QuerySet对象可使用遍历和切片操作。
    示例如下(承接上文命令行中代码)
>>> persons = Person.objects.all()
>>> p = persons[0]
>>> p.name
'Big Shuang'
>>> p.sex
'male'

3 - 改(Update)——修改数据

Django里面,修改数据很简单,修改一下模型实例的属性就可以,然后调用save方法同步到数据库表即可。
示例如下(承接上文命令行中代码)

>>> p = Person.objects.get(id=1)
>>> p.name = "Li hua"
>>> p.save()

执行后数据库表Person内容更新如下

idnamesex
1Li huamale

4 - 删(Delete)——删除数据

删除数据也很简单。
模型实例调用delete方法即可删除数据,
同时不止模型实例可以调用delete方法,本文第二部分提到的QuerySet也可以调用delete方法删除QuerySet中所有行的数据。

简单示例如下(承接上文命令行中代码)

>>> p = Person.objects.get(id=1)
>>> p.delete()
(1, {'myapp.Person': 1})

执行后数据库表Person中对应的数据将被删除。

python+django股票基金模拟交易系统,2024年百度Python面试真题 股票信息管理实现网站内容的更新与维护,提供在后台输入、查询、修改、删除各类股票信息内容的功能,具体功能:增加、修改、删除各个栏目中的股票信息功能;在该部分中,用户可以点击页面中的股票信息标题,来浏览股票信息的具体内容。也可以在搜索栏里输入关键字来搜索感兴趣的股票信息。数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**(2)能够实现股票信息发布的各项功能,能成功的对用户各种信息进行管理。(3)查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。 阅读详情

相关推荐

基于非对称纳什谈判的多微网电能共享运行优化策略(Matlab代码实现)

基于非对称纳什谈判的多微网电能共享运行优化策略(Matlab代码实现)内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际上内容并未围绕Plecs或全桥LLC谐振变换器展开详细论述,而是罗列了大量基于Matlab/Simulink和Python的科研仿真项目标题及相关技术方向,涵盖电力系统、无人机控制、微电网优化、路径规划、状态估计、信号处理、电动汽车调度、电力电子变换器等多个领域。其中包括多种优化算法(如粒子群、遗传算法、NSGA-II)、控制策略(如PID、MPC、滑模控制)、仿真建模(如LLC谐振变换器、DAB变换器、PWM整流器)以及具体应用场景的研究实现。尽管提及“隔离型全桥LLC谐振变换器建模及参数设计资料”,但全文缺乏对该主题的具体描述、模型细节或仿真分析,仅作为条目之一出现。因此,该文档实质是一份科研项目资源清单或代码合集目录,而非针对某一主题的深入文章。; 适合人群:具备一定Matlab/Simulink或Python编程基础,从事电气工程、自动化、控制科学、电力电子、新能源系统等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①为科研工作者提供丰富的课题参考与复现资源,涵盖优化调度、控制系统设计、电力电子仿真等方向;②辅助完成硕士/博士论文、期刊论文复现、课程设计或项目开发,提升研究效率与创新性;③通过已有模型和代码快速搭建仿真平台,聚焦算法改进与性能优化。; 阅读建议:此文档应作为科研资源索引使用,读者可根据自身研究方向筛选相关条目,结合配套代码与参考资料进行深入学习与实践。对于希望研究全桥LLC谐振变换器的用户,需注意本文档未提供完整内容,建议查找标注的“仿真+设计报告+计算书”等附件资源以获取详细信息。

pandas数据处理 把性别(sex)里面的 male 用 1 代替,female 用 0 代替

假设数据已经通过如下代码读进来了 import pandas as pd titanic_data = pd.read_csv('titanic_data.csv',encoding = 'gbk') 法1 titanic_data['Sex'][titanic_data['Sex'] == 'male'] = 1 titanic_data['Sex'][titanic_data['Sex'] == 'female'] = 0 法2 titanic_data.replace('male',1,inpl

雾隐雾现的至渝博客 4万+

Yolov5s/Yolov8s网络结构图

yolov8、yolov5网络结构图

Goodness2020的博客 9925

Django自学笔记0-0 目录

本篇博客只有目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节,说明内容还没开始编辑 总目录 0-前言 —— 0-0 目录 —— 0-1 简介 —— 0-2 框架版本与相关工具 1 - 入门 —— 1-1 新建项目 —— 1-2 配置说明 —— 1-3 常用命令和常见问题 2 - URL与View —— 2-1 URL与View关系 —— 2-2 URL详细匹配规则 ...

大爽老师的博客 2258

手把手教你用闲置安卓手机搭建个人收款系统(蓝鲸支付私有化部署实战)

本文详细介绍了如何利用闲置安卓手机搭建个人收款系统,实现私有化支付部署。通过开源技术栈和容器化方案,零成本构建安全、高效的支付网关,解决传统支付平台的数据安全和资金风险问题。特别适合个人开发者和小微企业主,无需复杂审批,资金实时到账,显著降低运营成本。

weixin_30363285的博客 380

智能驾驶感知模块评测实战:如何用回灌测试提升BEV模型准确率(附数据集处理技巧)

本文深入探讨了如何通过诊断型回灌测试系统性地提升智能驾驶BEV感知模型的准确率与鲁棒性。文章详细拆解了从场景切片、时空对齐到多维指标分析的完整评测流水线,并针对BEV模型特有的深度估计、特征融合等环节提供了优化思路,旨在帮助工程师将海量路采数据转化为精准的模型迭代燃料。

weixin_29045585的博客 395

Django5—数据库,零基础Golang入门

SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近的SQL语句。很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改。写SQL时容易忽略web安全问题,给未来造成隐患。SQL注入。ORM,全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句。

2401_84247760的博客 1046

基于单片机直流电机调速控制系统设计

*单片机设计介绍,基于单片机直流电机调速控制系统设计。

2201_75940997的博客 2781

Django自学笔记 4-3 模型(models)主键外键

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 参考:https://docs.djangoproject.com/en/2.2/ref/models/fields/ 三、模型(models)主键外键 1 主键 梳理自官方文档:automatic-primary-key-fields 不设置主键的情况下,Django会自动为每个模型提供以下字段: id = .

大爽老师的博客 3603

长上下文技术的底层逻辑:Attention、压缩、缓存与跨页推理

如果把模型的参数视为“固化智能”,动态智能(Dynamic Intelligence)——模型不必依赖训练时的记忆,而是可以随时调用外部信息。这一点正在改变大模型的范式:Prompt 不再是输入,而是“操作系统事件”文档不再是知识,而是“模型的临时记忆”模型不再是一段神经网络,而是一个“具备阅读循环的推理引擎”当我们把上下文从 128K 拉到百万级,我们做的不是扩容,而是让模型第一次拥有阅读、回溯、定位、跨页分析的能力。这是一种新的智能。

aifs2025的博客 997

【FPGA XDMA AXI Bridge 模式】PCIe:BARs 和 AXI:BARs 含义解析

Xilinx的 DMA/Bridge Subsystem for PCI Express IP核中,支持普通的XDMA模式,但是这种模式只允许主机端发起PCIe 读写请求,FPGA内部无法主动发起读写请求,也即FPGA无法主动读写HOST的内存。而该IP核的另一种模式,AXI Bridge模式则支持HOST主动读写,以及FPGA主动读写。该模式下有个参数需要配置,分别是PCIe:BARs以及AXI:BARs。而上述的普通模式只有PCIe:BARs需要配置。下面详细说说这两个参数的含义。

weixin_45888152的博客 3730

Django自学笔记 1-1 新建项目(project)、应用(app)、运行项目

——总目录——前言——框架版本—— ======================= 大爽歌作,made by big shuang ======================= 一 新建项目 1-命令行新建Django项目 新建项目命令(project_name处为项目名) django-admin startproject project_name 有报错的话,查看Problems run...

大爽老师的博客 2103

使用FSL对DTI数据进行预处理

在fsl官网我们可以看到是同时使用了AP和PA图像处理,采用的是最小二乘法将2个图像合并为1个图像。–inindex此处需要处理的是PA图像,在acq_param.txt中我们是把这个放在第一行的,此处为1,如果处理的是AP图像,则此处为2。为了校正磁场引起的畸变,对DTI的B0像分别采集了A>P和P>A的反向编码的两种B0像。即如果AP和PA只有1个B0像时,那么这里就是两行,如果各有3个B0像则这里应该是6行。假设转换后的图像为sub01_AP.nii.gz和sub01_PA.nii.gz。

weixin_52073820的博客 4839

Django自学笔记 2-2 URL详细匹配规则

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 本文目录二 URL详细匹配规则1- urlpattern 二 URL详细匹配规则 本章第一节中我们简单介绍了URL与View关系 简单概括来说,网页请求的url会通过urls.py里面的urlpatterns列表中的urlpattern来匹配对应的view方法,然后view方法会返回一个HttpResponse 过程.

大爽老师的博客 1883

使用静态库在嵌入式系统中进行开发

静态库是一种包含预编译对象代码的文件,它可以与应用程序链接在一起,并在编译时将库的代码复制到最终的可执行文件中。静态库是包含预编译对象代码的文件,可以与应用程序链接在一起,并在编译时将库的代码复制到最终的可执行文件中。需要注意的是,由于嵌入式系统的资源限制,开发人员应该仔细选择需要包含在静态库中的功能,并避免引入不必要的依赖关系。需要注意的是,由于嵌入式系统的资源限制,开发人员应该仔细选择需要包含在静态库中的功能,并避免引入不必要的依赖关系。的静态库文件,可以在嵌入式系统的应用程序中使用它了。

ZrElixir的博客 203

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Django自学笔记0-2 框架版本与相关工具

总目录 二、框架版本与相关工具 1 版本 python: 3.6 Django: 2.2 (有些地方我也会对比下各种版本的区别) 安装方法 pip3 install Django 2 其他库 如果使用mysql作为数据库的话, 需要安装第三方库mysqlclient 安装方法 pip install mysqlclient ps: Django requires mysqlclient 1.3...

大爽老师的博客 1806

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Django自学笔记 6-3 使用模型(models)创建表单(form)

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 三 使用模型(models)创建表单(form) 本文参考:Forms for models 1 - 初步介绍 很多时候,我们使用的表单,是与模型密切关联的(官方文档称之为紧密映射)。 比如注册学生账号,其表单与学生的模型字段基本是一一对应的。 这种情况下,自己一个一个去编辑设置表单的字段比较费事,而且如果模型中有.

大爽老师的博客 1293

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Django自学笔记 4-1 模型(Models)初步介绍+更新模型到数据库

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 参考:https://docs.djangoproject.com/en/2.2/topics/db/models/ 一、模型(Models)介绍 1 介绍 模型是关于数据的唯一、确定的信息源。它包含存储数据的基本字段和行为。通常,每个模型映射到一个数据库表。 以上是官方文档的介绍,但太绕了,对于初学者, 粗略.

大爽老师的博客 978

Django自学笔记 2-1 URL与View关系

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 本文目录一 URL与View关系1- Django处理请求(request)过程 一 URL与View关系 参考:https://docs.djangoproject.com/en/2.2/topics/http/urls/#how-django-processes-a-request 1- Django处理请求(.

大爽老师的博客 944

Django自学笔记 4-2 模型(models)中的Field(字段)

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 参考:https://docs.djangoproject.com/en/2.2/ref/models/fields/ 二、各种Field(字段)说明 一般来说,Field不需要另行导入,因为导入mode...

大爽老师的博客 903

Django自学笔记 7-1 基于类的视图(Class-based views)介绍

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 一、基于类的视图(Class-based views)介绍 1 介绍

大爽老师的博客 857

Django自学笔记0-1 前言

总目录 - 一 前言 1 最初的想法 自学Django已经有一段时间了,自认收获不少,学的还算可以,然而实际去做项目写代码的时候,很多用法记得不清,又要花时间去网上去查找相关的用法,很是低效,颇费时间。 所以决定用博客来做记录,方便后面自己查阅相关的用法,也能温故知新,熟悉以前所学,不至于学了就往,起码有个博客能够回味下。 2 进一步的考量 记录博客一方面能够梳理下自身所学,把以往模糊的地方想明白...

大爽老师的博客 817

Django自学笔记 6-2 表单(Form)基础操作

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 二、表单(Form)基础操作 1 - 编写表单类 创建新的表单类的代码,一般写到一个专门的forms.py文件中(一般放在对应的app文件夹下) 在本章第一小节,我们已经展示了如何去创建表单类的代码,这里我们详细看看这些代码 #usr/bin/env python #-*- coding:utf-8- -*- fr.

大爽老师的博客 728

Django自学笔记 1-3 常用命令和常见问题

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 本文目录四 常用命令和常见问题1-常用命令:2-常见报错: 四 常用命令和常见问题 1-常用命令: 新建项目: django-admin startproject project_name django 新...

大爽老师的博客 718

Django自学笔记 3-2 模板语法结构概述

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 二、模板(Template)语法介绍 参考:https://docs.djangoproject.com/en/2.2/topics/templates/#the-django-template-language 0 总介绍 官方文档介绍: A Django template is simply a text d.

大爽老师的博客 689

Django自学笔记 3-1 模板(Template)基础

————总目录——前言——框架版本———— ======================= 大爽歌作,made by big shuang ======================= 一、模板(Template)基础 1 介绍 Todo 2 代码示例 nav.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> .

大爽老师的博客 634
上一篇: python爬虫 常用套路(requests+BeautifulSoup)
下一篇: python 格式化输出详解(占位符:%、format、f表达式)——上篇 理论篇
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值