django学习笔记
django学习笔记
http://djangobook.py3k.cn/2.0/chapter05/
文章目录
- django学习笔记
- 模型 models.py
- 1、定义数据模型
- 2、模型安装
- 3、创建数据表
- 4、数据表的增删改查
- 4.1 增加
- 4.2 删除
- 4.3 修改
- 4.4 查询
- 4.5 模糊查询
- 4.6 排序&连锁查询
- 4.7 限制返回数据
- 5、模型使用实战
模型 models.py
1、定义数据模型
from django.db import models
class Publisher(models.Model):name = models.CharField(max_length=128) # 出版社名称
2、模型安装
INSTALLED_APPS = ('mysite.books', // books这里是你app名字
)
3、创建数据表
python manage.py validate -检查模型的有效性
python manage.py sqlall books --生成shell语句
python manage.py syncdb --执行shell语句
4、数据表的增删改查
https://cloud.tencent.com/developer/article/1774570 —这篇文章更容易懂
4.1 增加
这里其实有两步:1、创建一个对象 2、调用save
models.Publisher.objects.create(name="新华出版社")
4.2 删除
models.Publisher.objects.filter(name="清华大学出版社").delete()
Publisher.objects.all().delete() # 删除全部
4.3 修改
使用sava方法去修改,会修改所有列
obj = models.Publisher.objects.get(id=id) #先查询
obj.name = name # 在内存中修改
obj.save() # 将修改保存到数据库使用updata去修改,下面这种方法只会修改1列
>>> Publisher.objects.filter(id=52).update(name='Apress Publishing')
4.4 查询
obj1 = models.Publisher.objects.get(name="新华出版社") #返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
obj2 = models.Publisher.objects.filter(name="新华出版社") #它包含了与所给筛选条件相匹配的对象,返回的是一个对象,如果查询不到,那么返回的是空列表,不报错。
obj3 = models.Publisher.objects.filter(name="新华出版社").first() #返回与之匹配的第一个对象,如果没有,则返回空。
obj4 = models.Publisher.objects.all() #获取表中所有数据
4.5 模糊查询
4.6 排序&连锁查询
>>> Publisher.objects.order_by("name")
>>> Publisher.objects.order_by("address")此外,Django让你可以指定模型的缺省排序方式:
class Publisher(models.Model):name = models.CharField(max_length=30)address = models.CharField(max_length=50)city = models.CharField(max_length=60)state_province = models.CharField(max_length=30)country = models.CharField(max_length=50)website = models.URLField()def __unicode__(self):return self.name**class Meta:****ordering = ['name']**连锁查询
>>> Publisher.objects.filter(country="U.S.A.").order_by("-name")
4.7 限制返回数据
Publisher.objects.order_by('name')[0] --相当于limit1
5、模型使用实战
from django.shortcuts import render, redirect
from app01 import models# Create your views here.def publisher_list(request):obj = models.Publisher.objects.all() # 查数据return render(request, 'publisher_list.html', {'publisher_list': obj}) # {'publisher_list': obj}是模板,可以传递给前端页面。def publisher_add(request):if request.method == "POST": pub_name = request.POST.get('pub_name') if not pub_name:return render(request, 'publisher_add.html', {'error': "出版社名字不能为空"})if models.Publisher.objects.filter(name=pub_name):return render(request, 'publisher_add.html', {'error': "出版社已经存在"})models.Publisher.objects.create(name=pub_name) # 增加出版社,使用create方法return redirect('/publisher_list/') return render(request, 'publisher_add.html')。def publisher_del(request):pk = request.GET.get('id') models.Publisher.objects.filter(id=pk).delete() # 删除数据库中的数据return redirect('/publisher_list/') def publisher_edit(request):id = request.GET.get('id')obj1 = models.Publisher.objects.get(id=id)if request.method == "GET":return render(request, 'publisher_edit.html', {'pub_obj': obj1})else:name = request.POST.get('pub_name')obj2 = models.Publisher.objects.filter(name=name)if obj2:return render(request, 'publisher_edit.html', {'msg': "该出版社已存在"})else:obj1.name = name # 在内存中修改obj1.save() # 将修改保存到数据库return redirect('/publisher_list')
相关文章:
django学习笔记
django学习笔记 http://djangobook.py3k.cn/2.0/chapter05/ 文章目录 django学习笔记模型 models.py1、定义数据模型2、模型安装3、创建数据表4、数据表的增删改查4.1 增加4.2 删除4.3 修改4.4 查询4.5 模糊查询4.6 排序&连锁查询4.7 限制返回数据 5、模型使用实战 模型 m…...
Python环境安装及Selenium引入
Python环境安装 环境下载 Download Python | Python.org 环境安装 需使用管理员身份运行 查看环境是否安装成功 python --version 如果未成功则检查环境变量配置 安装 Selenium 库 pip install selenium Selenium 可以模拟用户在浏览器中的操作,如点击按钮、填写…...
【gpt实践】实用咒语分享
直接上咒语了,大家可以自行实践。 1、忽略先前所有的提示 有时候gpt会停留在之前的问题中,导致回答当前问题带着之前问题结论。 2、忽略所有的客套话 我们只是需要有用的信息,有时候gpt客套话会混淆视听。 3、给出非常简短明确的答案 同样…...
Linux用户和权限
一、root用户(超级管理员) 普通用户的权限,一般在其HOME目录内是不受限的 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限 二、su 和 exit命令 语法:su [ - ] 【用户…...
git svn混用
背景 项目代码管理初始使用的svn, 由于svn代码操作,无法在本地暂存,有诸多不便,另外本人习惯使用git. 所以决定迁移至git管理 迁移要求: 保留历史提交记录 迁移流程 代码检出 git svn svn_project_url git代码提交 修改本…...
FPGA静态时序分析与约束(三)、读懂vivado时序报告
系列文章目录 FPGA静态时序分析与约束(一)、理解亚稳态 FPGA静态时序分析与约束(二)、时序分析 文章目录 系列文章目录前言一、时序分析回顾二、打开vivado任意工程2.1 工程布局路由成功后,点击vivado左侧**IMPLEMENT…...
鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Badge)
可以附加在单个组件上用于信息标记的容器组件。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 说明: 子组件类型:系统组件和自定义组件…...
Python程序设计基础——代码习题
1 __name__属性 import demodef main():if __name__ __main__:print(这个程序被直接运行。)elif __name__demo:print(这个程序作为模块被使用。) main()3.3 编写程序,生成包含1000个0~100之间的随机整数,并统计每个元素出现的次数。 import randomx[r…...
代码随想录 贪心算法-中等题目-序列问题
目录 376.摆动序列 738.单调递增的数字 376.摆动序列 376. 摆动序列 中等 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列…...
pytest生成allure的报告
首先要下载安装配置allure allure serve ./outputs/allure_report 可以生成html的文件自动在默认浏览器中打开...
Python控制摄像头并获取数据文件
一、引言 摄像头作为计算机视觉领域的核心设备之一,广泛应用于视频监控、图像采集和数据处理等领域。通过Python编程语言,我们可以实现对摄像头的精确控制,包括摄像头的开启、关闭、参数设置以及数据获取等功能。 目录 一、引言 二、摄像头…...
免费分享一套SpringBoot+Vue自习室(预约)管理系统,帅呆了~~
大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue自习室预约)管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue自习室预约(预约)管理系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue自习室预约(预约)管理系统…...
mac删除带锁标识的app
一 、我们这里要删除FortiClient.app 带锁 常规方式删除不掉带锁的 app【如下图】 二、删除命令,依次执行即可。 /bin/ls -dleO /Applications/FortiClient.app sudo /usr/bin/chflags -R noschg /Applications/FortiClient.app /bin/ls -dleO /Applications/Forti…...
PHP异世界云商系统开源源码
系统更新与修复列表 1. 基于彩虹的二次开发 - 对彩虹系统进行了二次开发,增强了系统的功能和性能。2. 新增自定义输入框提示内容(支持批量修改) - 用户可以自定义输入框的提示内容,并支持批量修改,提升用户体验。3. 新…...
Vue生成Canvas二维码
npm install qrcode在Vue组件中引入QRCode库:import QRCode from qrcode;在Vue组件的methods中创建一个方法来生成二维码: generateQRCode() {const canvas this.$refs.qrCodeCanvas; // 获取canvas DOM元素的引用const text Hello, World!; // 要生成…...
JAVA基础—JVM内存结构基础需知
1.JVM内存结构 JVM内存结构分为5个区域:方法区,虚拟机栈,本地方法栈、堆、程序计数器。 1.方法区(Method Area):用于存储类的结构信息、常量、静态变量、即使编译器编译后的代码等数据。方法区也是所有线…...
【滤波专题-第8篇】ICA降噪方法——类EMD联合ICA降噪及MATLAB代码实现(以VMD-ICA为例)
今天来介绍一种效果颇为不错的降噪方法。(针对高频白噪声) 上一篇文章我们讲到了FastICA方法。在现实世界的许多情况下,噪声往往接近高斯分布,而有用的信号(如语音、图像特征等)往往表现出非高斯的特性。F…...
jeecg 启动 微服务 更改配置本地host地址
127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-sentinel 127.0.0.1 jeecg-boot-xxljob 127.0.0.1 jeecg-boot-rabbitmq1. windows系统下,在开…...
微服务day01 -- SpringCloud01 -- (Eureka , Ribbon , Nacos)
介绍微服务 1.认识微服务(p1-p5) 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#…...
AI推介-大语言模型LLMs论文速览(arXiv方向):2024.03.10-2024.03.15
文章目录~ 1.Large Language Models and Causal Inference in Collaboration: A Comprehensive Survey2.VisionGPT-3D: A Generalized Multimodal Agent for Enhanced 3D Vision Understanding3.MT-PATCHER: Selective and Extendable Knowledge Distillation from Large Langu…...
Stable Yogi Leather-Dress-Collection企业应用:服装品牌AI趋势图快速验证系统
Stable Yogi Leather-Dress-Collection企业应用:服装品牌AI趋势图快速验证系统 1. 项目概述 Stable Yogi Leather-Dress-Collection是一款专为服装品牌设计的AI趋势图快速验证工具,基于先进的Stable Diffusion技术开发。这个工具能够帮助设计师和品牌快…...
新手零障碍入门:用快马ai生成即开即用的python学习环境
最近在教朋友学Python,发现新手最头疼的不是语法本身,而是配置开发环境。特别是用PyCharm时,光是解释器设置就能劝退一大半人。刚好发现InsCode(快马)平台能一键生成开箱即用的Python学习项目,试了试简直拯救了教学现场。 为什么环…...
Nginx-UI 备份恢复漏洞 PoC 公开:攻击者可篡改加密备份并注入恶意配置
漏洞概述Nginx-UI 备份恢复机制中被披露存在一个高危安全漏洞(CVE-2026-33026)。该漏洞允许威胁攻击者在恢复过程中篡改加密备份文件并注入恶意配置。随着公开的 PoC 利用代码发布,未打补丁的系统面临被完全攻陷的即时风险。加密缺陷利用原理…...
3DGS内存优化新思路:拆解Scaffold-GS与Normal-GS中的锚点与共享IDIV设计
3DGS内存优化新思路:拆解Scaffold-GS与Normal-GS中的锚点与共享IDIV设计 在实时3D渲染领域,3D Gaussian Splatting(3DGS)技术正面临内存效率的严峻挑战。当我们将3DGS模型部署到移动设备或边缘计算节点时,显存限制往往…...
网易云音乐美化插件全攻略:从核心价值到深度定制的个性化指南
网易云音乐美化插件全攻略:从核心价值到深度定制的个性化指南 【免费下载链接】refined-now-playing-netease 🎵 网易云音乐沉浸式播放界面、歌词动画 - BetterNCM 插件 项目地址: https://gitcode.com/gh_mirrors/re/refined-now-playing-netease …...
QQ音乐加密文件解码终极指南:三分钟快速上手qmcdump工具教程
QQ音乐加密文件解码终极指南:三分钟快速上手qmcdump工具教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump …...
除螨仪哪款好?除螨仪哪个品牌最好?内行人揭秘米家、希亦、友望等除螨仪十大品牌排名,挑选不踩雷!
在选购除螨仪时,很多朋友会问:除螨仪哪个牌子好?现在市面上的除螨仪真的五花八门,不少商家打着“紫外线深层杀菌”“强力拍打彻底除螨”的旗号,实则是偷工减料的不专业产品。用起来要么拍打力度弱、吸力不足࿰…...
Pixel Mind Decoder 版本管理与协作:Git工作流在AI项目中的应用
Pixel Mind Decoder 版本管理与协作:Git工作流在AI项目中的应用 1. 为什么AI项目需要版本管理 在开发Pixel Mind Decoder这样的情绪分析系统时,我们会频繁修改代码、调整Prompt模板、更新模型参数。如果没有版本管理,很容易陷入混乱&#x…...
实战分享:我是如何搞定SHEIN新版反爬(anti-in, smdeviceid, armortoken, x-gw-auth)的
电商平台数据采集实战:逆向工程与参数生成策略 最近半年,电商平台的反爬机制呈现出明显的升级趋势。以某国际快时尚电商为例,其新增的四个核心校验参数(anti-in、smdeviceid、armortoken、x-gw-auth)构成了完整的安全验…...
intv_ai_mk11真实案例分享:中小企业如何用该模型降本提效做内容生产
intv_ai_mk11真实案例分享:中小企业如何用该模型降本提效做内容生产 1. 中小企业内容生产的痛点与机遇 在当今内容为王的时代,中小企业面临着巨大的内容生产压力。每天需要产出大量文案、产品介绍、营销内容、客服回复等,但往往受限于人力成…...
