16. Django基础数据访问
如果我们想使用Django对数据库进行访问,我们可以使用django自带的shell。
进入blog目录,打开cmd命令窗口,输入python manage.py shell,如下图所示:

插入数据
打开cmd命令窗口,进入manage.py同级目录,输入python manage.py shell,如下所示,下面是2种插入数据方式:
C:\Users\EDZ\Desktop\Blog最新\blog>python manage.py shell
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from article.models import Article
>>>b1=Article(id=1,title='t_title',author='t_author',content='test_content')
>>> b1.save()
>>>b2=Article.objects.create(id=2,title='t2_title',author='t2_author',content='test_content')

需要说明的是, 表的 id 字段已经设置了自增, 所以, 该字段为空可以添加数据。但是我们还是指定id,方便我们做接口自动化测试时知道博客id。首先我们导入Article类,b1=Article(id=1,title='t_title',author='t_author',content='test_content')意思是往表中的字段插入数据,b1.save()的意思是对数据进行保存,Article.objects.create()方法将两步合为一步, 方法如上所示。
查询数据
查询我们可以查询所有数据,指定数据,模糊查询,如下所示:
>>> from article.models import Article
>>> Article.objects.all()
<QuerySet [<Article: t_title>, <Article: t2_title>]>
>>> b3 = Article.objects.get(id=1)
>>> b3
<Article: t_title>
>>> b3.title
't_title'
>>> b4 = Article.objects.filter(title__contains='title')
>>> b4
<QuerySet [<Article: t_title>, <Article: t2_title>]>
Article.objects.all()查询所有
Article.objects.get(id=1)指定查询
Article.objects.filter(title__contains='title') 标题含有title的模糊查询
更新数据
我们先查询到所需更新的数据,然后通过.字段名或者.update方式进行更新,如下所示:
>>> from article.models import Article
>>> b5 = Article.objects.get(id=1)
>>> b5.title = 'b3'
>>> b5.save()
>>> Article.objects.filter(id=2).update(title='b33')

删除数据
我们先查询到所需删除的数据,然后通过.delete方式进行删除,如下所示:
>>> from article.models import Article
>>> b6 = Article.objects.get(id=1)
>>> b6.delete()
(1, {'article.Article': 1})

16. Django基础数据访问的更多相关文章
- Django Model数据访问Making queries
创建完Model之后, Django 自动为你提供一套数据库抽象层的API,利用它可以完成创建,提取,更新,删除对象的操作. 以下面的Model为例: class Blog(models.Model) ...
- winform基础——数据访问及几个案例
数据访问分为三个部分:(1)创建链接(2)创建与执行命令(3)读取或准备相关数据 一,需要引用的命名空间 using data: using data.SqlClient; 二,创建与数据库的链接—— ...
- ABP框架之——数据访问基础架构
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享阅读心得,希望我的文章能成为你成长路上的一块垫脚石,我们一起精进. 几乎所有的业务应用程序都要适用一种数据库基础架构,用来实现数据访问逻辑,以便从数 ...
- PHP数据访问基础知识(20161028)
数据访问 动态页面的特征:能够读取数据库,网页的内容都是从数据库读出来的,而不是写死的 所有的程序归根结底都是对数据的增删改查 如何用服务器的PHP来操作服务器的MySQL,Apache则是用来管理, ...
- JAVAWEB基础模块开发顺序与数据访问对象实现类步骤
一.模块的开发的顺序 1. 定义数据表 2. 新建模型类 3. 新建"add.jsp" 4. 实现AddServlet中的doGet()方法 5. 定义Dao.Service接口 ...
- 01: Django基础篇
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- Django基础五之Ajax
Django基础五之Ajax 目录 Django基础五之Ajax 1. Ajax介绍 2. Ajax前后端传值 2.1 方法一HttpResponse直接返回 2.2 方法二使用Json格式返回 2. ...
- django基础篇
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
随机推荐
- 洛谷P3366 【模板】最小生成树(LCT)
[模板]最小生成树 题目传送门 解题思路 用LCT来维护最小生成树. 除了把各顶点作为节点外,每条边也都视为一个节点.对于要加入的边\(e\),检查其两顶点\(x\)和\(y\)是否在同一棵树中,如果 ...
- 字符串模式匹配算法系列(一):BF算法
算法背景: BF(Brute Force)算法,是一种在字符串匹配的算法中,比较符合人类自然思维方式的方法,即对源字符串和目标字符串逐个字符地进行比较,直到在源字符串中找到完全与目标字符串匹配的子字符 ...
- 【转载 | 翻译】Visualizing A Neural Machine Translation Model(神经机器翻译模型NMT的可视化)
转载并翻译Jay Alammar的一篇博文:Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models Wi ...
- Java8 新特性学习 Lambda表达式 和 Stream 用法案例
Java8 新特性学习 Lambda表达式 和 Stream 用法案例 学习参考文章: https://www.cnblogs.com/coprince/p/8692972.html 1.使用lamb ...
- JavaScript Stack
function Stack() { var items = []; this.push = function(item) { items.push(item) } this.pop = functi ...
- 静态链表 C++版
笔记静态链表的实现 #include "stdafx.h" #include<iostream> using namespace std; #define MAXSIZ ...
- Windows平台下在Emacs中使用plantuml中文乱码问题(已解决)
Windows平台下在Emacs中使用plantuml中文乱码问题(已解决) */--> code {color: #FF0000} pre.src {background-color: #00 ...
- 解决MVC中textarea出现多余空格的问题
public static MvcHtmlString FixedTextAreaFor<TModel, TProperty>(this HtmlHelper<TModel> ...
- 记录一次kibana启动Unable to fetch data from reporting collector
版本不匹配导致 应该es与kibana版本一致 本文链接:https://blog.csdn.net/qq_33293753/article/details/87894882
- Java开发中的23种设计模式详解(2)结构型
我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式.装饰模式.代理模式.外观模式.桥接模式.组合模式.享元模式.其中对象的适配器模式是各种模式的起源,我 ...