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 ...
随机推荐
- 重新认识Maven
PS:第一次接触maven大约是两年前吧,隐约记得之前都是人工寻找并下载很多jar,放在项目的lib中(表示太年轻,没有接触过Ant或者其他类似的工具,就不找别人写的比较了).懒人永远有着自己的小聪明 ...
- 禁止修改input内容
有什么问题请到<a href='/bbs/index.asp?boardid=2'>论坛</a>中发表<br> <!--# 特效来源:http://www.o ...
- java方法调用及传参
静态方法:有static修饰的方法. 非静态方法:没有static修饰的方法. 方法调用: 一静态方法调用 静态方法/属性 1)一个类:直接调用. 2)不同类/不同文件: a: 类名.属性名/方法名 ...
- Java反射实现Servlet处理多个请求--server分发
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.serv ...
- build temu error about SDL
1. 安装sdl2 sudo apt-get install libsdl2-dev 2. 将configure文件中与SDL有关的地方改成SDL2 if test -z "$sdl&quo ...
- Java + selenium window()接口方法介绍
在浏览器启动的代码中,有一段关于window接口的调用,这篇文章就是来解释介绍这个接口的.代码如下 driver.manage().window().maxmize(); window接口主要是用来控 ...
- 面试题22:链表中倒数第k个节点
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None ...
- Mutable and Immutable Variables in Python
本文解决python中比较令人困惑的一个小问题:传递到函数中的参数若在函数中进行了重新赋值,对于函数外的原变量有何影响.看一个小栗子: def fun(a): a=2 return a=1 fun(a ...
- FileInputStream_FileOutputStream
Writer的基本方法 //向输出流中写入一个字符数据,该字节数据为参数b的低16位 void write(int c) throws IOException //将一个字符类型的数组中的数据写入输出 ...
- 记录pgsql数据库表设计date和time字段的处理
pgsql表设计中,有时候涉及到日期和时间字段需要分别处理的情况,这个时候可以使用date和time字段分别定义两个字段的属性 对应的实体类可以使用LocalDate和LocalTime去做映射 环境 ...