首页 > 数据库 >Django 的数据库操作

Django 的数据库操作

时间:2023-08-08 17:33:54浏览次数:42  
标签:__ leader 数据库 查询 objects 操作 Django id Projects

Djangp 提供了一套抽象的 API ,能够对数据库进行 CRUD (create,retrieve,update,delete objects)

1、使用 shell 操作

  安装 ipython 交互环境

  pip install -i https://pypi.douban.com/simple ipython

  pyhton manage.py shell -i ipython

  查看所有项目:Projects.objects.all()

 

2、查看数据库日志记录

  %PROGRAMDATA%\M有SQL\MySQL Server x.x\my.ini

  修改配置后重启生效

  log-output=FILE

  general-log=1

  general_log_file="mysql_keyou.log"

 

3、c (create),有两种方式新建数据

  ~~:使用模型内构造方法,

    one_obj = Projects(name='tets', leader='qwe')

    one_obj.save()    # 调用save才会在数据库中执行sql

  ~~:使用create,

    Projects.objects.create(name="test", leader="werw")

 

4、r(retrieve),获取数据库数据

  ~~:获取一个数据表的所有记录:Projects.objects.all ()

    返回所有记录组成的模型对象集合(queryset 查询集,就相当于一个存放了所有项目对象的列表)

  ~~:获取指定记录

    get:只能返回一条记录,若返回多条记录或者记录不存在则报错,所有get 方法的参数一般为主键或者唯一键,Projects.objects.get( id=1 )

    filter:获取某一些记录,返回的是满足条件之后的queryset,Projects.objects.filter(id=1)

       使用特定的过滤方法:模型类属性名(字段名)+ __ + 过滤的规则,

         如查询包含某个字符串的所有记录返回:Projects.objects.filter( leader__contains = 'icon' )

    exclude:获取某一些记录,返回的是不满足条件之后的 queryset ,Projects.objects.exclude( id=1 )

  ~~:关联查询,规则:外键字段 + __子表的字段名+ __contains

    如查询项目下所有接口名称:Projects.objects.filter( interface__name == ' test ' )

  ~~:多条件查询,条件之间默认是与关系,Projects.objects.filter( interface__name == ' test ' , leader='34d')

     使用Q变量指定多个变量,条件之间是或关系,Projects.objects.filter(Q( interface__name == ' test ' )| Q( leader='34d'))

  ~~:查询集的操作

     a. 查询集相当于一个列表,支持列表中的大多数操作(通过数字正向索引获取值,正向切片,for)

     b. 查询集是对数据库操作的一种优化

     c. 查询集会缓存结果

     d. 惰性查询

     e. 查询集还支持链式操作

 

5、update,先获取需要修改的模型对象,然后修改数据,最后保存

  one_project = Projects.objects.get( id=1 )

  one_project.leader = 'sdsw'

  one_project. save()

 

6、delete,先获取需要删除的模型对象,然后删除数据,最后保存

  one_project = Projects.objects.get( id=1 )

  one_project.delete()

  one_project. save()

 

7、排序操作,默认从小到大排序

  Projects.objects.get( id=1 ).order_by('id')

  

 

    

  

标签:__,leader,数据库,查询,objects,操作,Django,id,Projects
From: https://www.cnblogs.com/lili37/p/17614592.html

相关文章

  • Django 模型的简单应用
    每一个应用下的数据库模型类,需要在当前应用下的model.py这个文件中定义数据库模型定义规则如下:一个数据库模型类需要继承Model或者Model的子类默认会创建一个自动递增的id主键默认创建的数据库名为,应用名小写_数据库模型类小写一个数据库模型类相当于......
  • RTSP/Onvif视频服务器LntonNVR(源码版)视频平台获取录像接口返回精确的录像文件的具体操
    LntonNVR视频平台可实现RTSP/Onvif协议接入设备、实时直播、录像、检索与回放、存储、视频分发等视频能力。在录像功能上,LntonNVR支持7*24小时不间断录像,也可以设定录像计划,对指定时间进行录像,并且支持录像的检索与回放、支持本地录像回放。有用户需要获取LntonNVR平台录像视频指定......
  • 亚信科技AntDB数据库与库瀚存储方案完成兼容性互认证,联合方案带来约20%性能提升
    近日,亚信科技AntDB数据库与苏州库瀚信息科技有限公司自主研发的RISC-V数据库存储解决方案进行了产品兼容测试。经过双方团队的严格测试,亚信科技AntDB数据库与库瀚数据库存储解决方案完全兼容、运行稳定。除高可用性测试外,双方进一步开展TPC-C横向比对性能测试,库瀚数据库存储解决方......
  • Redis常用命令_字符串操作命令
          ......
  • Django博客开发教程:体验数据查询
    进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据。然后我们用Pycharm打开我们的数据库。具体操作方法:用Pycharm可视化操作数据库我们的数据结构长这般模样:双击blog_article,可以查看到文章表里的内容和里面的字段:数据查询,就是在视图函数里(views.py文件里)对......
  • Django博客开发教程:体验django模板
    上面我们有说过,用户发送请求的时候,视图会返回一个响应,响应可以是一个重定向,一个404错误,一个XML文档,一张图片或者是一个HTML内容的网页。前面几个返回的信息比较有限,我们重点更多是放在HTML内容的网页。我们把这样的页面按规范写好,然后都放在项目根目录下的templates文件夹里,这样的......
  • Django博客开发教程:体验django模板,
    上面我们有说过,用户发送请求的时候,视图会返回一个响应,响应可以是一个重定向,一个404错误,一个XML文档,一张图片或者是一个HTML内容的网页。前面几个返回的信息比较有限,我们重点更多是放在HTML内容的网页。我们把这样的页面按规范写好,然后都放在项目根目录下的templates文件夹里,这样的......
  • Django博客开发教程:URL与视图函数
    在讲URL与视图函数之前我们先给大家简单介绍一下用户访问网站的流程。我们访问一个网站的时候,一般先打开浏览器,然后在浏览器的地址栏里输入一个网址,也就是URL,然后回车,我们就可以在浏览器里看到这个网址返回的内容。这是我们能看得见的过程,还有一些我们看不见的过程,那就是:当我们在......
  • 数据库增删改查语句(入门)
    数据库增删改查语句一、增加insertinto...values1、insertinto表名(列名1,列名2,...列名n) values(值1,值2,...值n);(写列名插入数据)2、insertinto表名values(值1,值2,...值n);(不写列名插入数据)二、删除delete1、deletefrom表名;(删除表中所有数据)2、deletefrom表名where列=值;(根......
  • Django博客开发教程:使用富文本编辑器添加数据
    在Djangoadmin后台添加数据的时候,文章内容文本框想发布一篇图文并茂的文章需就得手写Html代码,这十分吃力,也没法上传图片和文件。这显然不是我等高大上程序猿想要的。为提升效率,我们可以使用富文本编辑器添加数据。支持Django的富文本编辑器很多,这里我推荐使用DjangoUeditor,Uedi......