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

下面是对“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中写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虚拟环境拷贝到另一台电脑,不能直接使用的问题

    最近折腾一个django的项目,想快速部署到服务器看看效果。virtualenv号称python三大神器之一,因此我打算把pycharm自动创建的虚拟环境直接拷贝到服务器运行代码。谁知出现了问题。   在pycharm上创建的虚拟环境是3.6.4 服务器环境上python3版本为3.6.9   按道理说,把本机的虚拟环境从本机拷贝到服务器,服务器就能直接运行…

    Django 2023年4月13日
    00
  • Django Auth应用定义登录视图的方式

    Django Auth应用是Django自带的身份认证应用程序,提供了默认的用户注册、登录、注销、修改密码等功能。在实际项目中,我们需要根据业务需求定义自己的登录视图,本文将详细介绍Django Auth应用定义登录视图的完整攻略,包括如何创建自定义登录模板、定义登录表单、定义登录视图以及实现重定向功能。 创建自定义登录模板 我们首先需要创建自定义的登录模板…

    Django 2023年3月13日
    00
  • Django的模型层(2)- 多表操作(上)

    一、创建模型        例:我们来假定下面这些概念,字段和关系               作者模型:一个作者有姓名和年龄。               作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一(one-to-one)的关系。               出版社模型:出版社有名称,所在城市…

    Django 2023年4月10日
    00
  • Django 项目布局方法(值得推荐)

    当我们着手开发 Django 项目时,合理的布局和组织项目文件对于维护和扩展项目都是至关重要的。下面是 Django 项目布局方法的完整攻略,包含两条示例说明。 一、Django 项目的标准目录结构 Django 项目的标准目录结构如下: project_name/ manage.py requirements.txt readme.md app1/ __i…

    Django 2023年5月16日
    00
  • Anaconda+django写出第一个web app(一)

    在安装好Anaconda和django之后,我们就可以开始创建自己的第一个Web app,那么首先创建一个空文件夹,之后创建的文件都在这个文件夹内。 启动命令行进入此文件夹内,可以先通过如下命令查看一下自己的python版本和django版本。  python –version  django-admin –version  我的python和djang…

    Django 2023年4月11日
    00
  • django-django的六种缓存设置

    参考博客:https://www.cnblogs.com/xiaonq/p/7978402.html#i6 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显 缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作 而是直接从内存或者Redis…

    Django 2023年4月11日
    00
  • Python之Django自动实现html代码(下拉框,数据选择)

      #模板   class IndexForm(forms.Form):   # 模板,用户提交的name和这里的变量名一定要是一致的.否则不能获取数据   user = forms.CharField(min_length=6, error_messages={‘required’: ‘用户名不能为空’, ‘min_length’: ‘用户名长度不能小于6…

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