如果我们想使用Django对数据库进行访问,我们可以使用django自带的shell。
进入blog目录,打开cmd命令窗口,输入python manage.py shell
,如下图所示:
插入数据
打开cmd命令窗口,进入manage.py同级目录,输入python manage.py shell
,如下所示,下面是2种插入数据方式:
C:UsersEDZDesktopBlog最新log>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})