django基础之数据库操作方法(详解)

yizhihongxing

下面是对“django基础之数据库操作方法(详解)”这篇文章的完整攻略:

1. 数据库连接设置

在django中默认使用sqlite作为数据库,可在settings.py文件中进行配置。也可以使用其他关系型数据库,如MySQL等,只需在settings.py中进行配置即可。

2. 数据库操作方法

2.1. 基本方法

Django提供了强大易用的ORM(Object-Relational Mapping)框架,通过ORM可以轻松进行数据库操作。

2.1.1. 新建记录

使用ORM框架中的save()方法可以新建一条记录,如:

from myapp.models import Person

p = Person(name='John', age=20)
p.save() # 保存到数据库

2.1.2. 查询记录

可以使用ORM框架中的filter()方法进行记录查询,如:

from myapp.models import Person

# 查询name为John的记录
persons = Person.objects.filter(name='John')

2.1.3. 更新记录

可以通过修改记录对象字段的值来更新记录,如:

from myapp.models import Person

p = Person.objects.get(name='John')
p.age = 21
p.save() # 保存到数据库

2.1.4. 删除记录

可以使用ORM框架中的delete()方法删除记录,如:

from myapp.models import Person

p = Person.objects.get(name='John')
p.delete() # 从数据库中删除该记录

2.2. 高级方法

除了基本方法之外,还有一些高级的方法可以方便快捷地进行数据库操作。

2.2.1. 批量插入

可以使用ORM框架中的bulk_create()方法进行批量插入,如:

from myapp.models import Person

persons = [
    Person(name='John', age=20),
    Person(name='Mike', age=22),
    Person(name='Tom', age=25)
]
Person.objects.bulk_create(persons) # 批量插入到数据库

2.2.2. 批量更新

可以使用ORM框架中的update()方法进行批量更新,如:

from myapp.models import Person

Person.objects.filter(age__lt=22).update(age=23) # 将年龄小于22的记录的年龄改为23

3. 示例说明

3.1. 新建记录示例

from myapp.models import Person

p = Person(name='John', age=20)
p.save() # 保存到数据库

3.2. 查询记录示例

from myapp.models import Person

# 查询name为John的记录
persons = Person.objects.filter(name='John')

以上是对“django基础之数据库操作方法(详解)”这篇文章的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django基础之数据库操作方法(详解) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django实现自定义标签

    在Django中,标签(Tag)是一种用于添加动态数据和逻辑的模板语言。标签能够实现复杂的逻辑,并且使模板变得更加灵活。 Django提供了一些内置的标签,但是有时候我们需要自定义标签,以满足特定的需求。 Django提供了两种自定义标签的方式:简单标签和复杂标签。简单标签是没有结束标记的标签,而复杂标签有开始标记和结束标记。 简单标签 自定义简单标签只需要…

    Django 2023年3月12日
    00
  • Django REST framework 的快速入门教程

    CRM-API项目搭建 序列器(Serializers) 首先,我们来定义一些序列器。我们来创建一个新的模块(module)叫做 crm/rest_searializer.py ,这是我们用来描述数据是如何呈现的。 #从已存在的assets项目中导入数据models模块 from crm import models from rest_framework i…

    2023年4月10日
    00
  • 【Django单元测试方法】

    一.前言/准备   测Django的东西仅限于在MTV模型。哪些可以测?哪些不可以。 1.html里的东西不能测。①Html里的HTML代码大部分都是写死的②嵌套在html中的Django模板语言也不能测,即使有部分逻辑。 但写测试用例时至少要调用一个类或者方法。模板语言没有出参也没有入参,不能测2.models模型可测。属于数据库层3.views,视图层可…

    Django 2023年4月11日
    00
  • django框架之drf:2、restful规范,序列、反序列化,drf安装及使用(django原生接口及drf接口编写)

    Django之drf 一、restful规范 1、概念 ​ REST全称是Representational State Transfer,中文意思是表述:表征性状态转移,它首次出现在2000年Roy Fielding的博士论文中。 ​ RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中 2、REST的十个规范 数据的安全保…

    Django 2023年4月13日
    00
  • Django权限管理自定义以及权限校验

    在Django中,权限管理是非常重要的一个功能,能够让我们对用户的操作进行有效的限制和管理。本文将详细介绍如何在Django中实现自定义权限管理和权限校验。 定义权限 在Django中,我们可以通过权限来控制用户对某些资源的访问和操作。Django提供了一种简单的方法来定义权限: from django.contrib.auth.models import …

    Django 2023年3月13日
    00
  • 在Django中写mqtt脚本并使用

    在Django中写mqtt脚本并使用 表结构如下      新建一个module文件夹用来存放自编脚本 1 # __author: gy-chen 2 # data: 2020/5/23 3 # -*- coding: UTF-8 -*- 4 5 6 # 为了能在外部脚本中调用Django ORM模型,必须配置脚本环境变量,将脚本注册到Django的环境变量…

    Django 2023年4月11日
    00
  • Django 模型类(models.py)的定义详解

    我们一起来详细讲解下“Django 模型类(models.py)的定义详解”。 什么是Django模型类 Django 模型类是用来在数据库中创建表格的一个抽象,也是Django 框架中的一项非常重要的功能。模型类/数据模型是指定义方法中包含了存储数据的结构,将数据存储在数据库中,可以理解为Django的“数据表”。 通过Django模型类,可以通过定义属性…

    Django 2023年5月16日
    00
  • CI/CD—-jenkins+gitlab+django(内网)

    1.py第三方包获取 ./pip3 install –target=/home/pyscript Django==1.8.11 ./pip3 install –target=/home/pyscript Django==1.8.11 -i “http://pypi.douban.com/simple/” –trusted-host pypi.douba…

    Django 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部