zoukankan      html  css  js  c++  java
  • 16. Django基础数据访问

    如果我们想使用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})
    

  • 相关阅读:
    ES6 Set.Map.Symbol数据结构
    ES6 class类 静态方法及类的继承
    ES6 浅谈Reflect
    ES6 proxy代理详解及用法
    Vue之生命周期函数
    Vue之自定义键盘修饰符、自定义指令
    v-show和v-if区别
    迭代器iterator
    es6之Proxy代理
    es6之symbol数据类型
  • 原文地址:https://www.cnblogs.com/suim1218/p/11009614.html
Copyright © 2011-2022 走看看