[Django学习笔记 - 12]:数据库操作

简介: [Django学习笔记 - 12]:数据库操作

数据库操作(添加)


前期工作:


1、在settings.py文件中进行数据库的配置


2、在子应用中的__init__.py文件中进行数据库的连接


3、创建好模型类并添加到数据库中


添加数据的操作


   数据库的添加有两种方法:


   第一种用实例对象的save方法添加(Family为模型类):


   fam = Family(键=值,键=值, ……)


   fam.save()


   当再次添加时需要在前面添加上一个id号

   fam = Family(2, 值,值, ……)(如果不写键名则值要和键名的位置对应)

   fam.save()


   第二种:模型类.Manager对象.create (若不设置Manager对象则默认为objects)

   Famliy.objects.create(键=值, 键=值)


   当再次添加时不需要在前面添加上一个id号



  • 在终端中输入:python manage.py shell,进入shell环境


  • 从子应用中导入模型类(例):from afir.models import Family


  • 使用第一种方法添加:


51d94e1bb9334828900eb5264c3b63d3.png

0955aae79dd741f999f0f13fa2305cb2.png


5961a8d1cdbc46d8aa7ddb67440061d2.png


使用create方法添加


87e5b81f6beb4408937d6c555cfb992a.png

ac9501c5c6274f5dbfdb70dda04ba149.png




基本查询


前期准备:


1、在子应用中创建路由文件,在主路由文件中进行路由的分发


2、views.py中写上视图函数


Family.fam.filter(age=20) ——表示的是获取age为20的查询集对象

eb9f2fb99521451ca2a9117452218333.png

3a1630cf2f5d4999ac39434b6bb29022.png

8280e7f797954c328488fef11db4eb0f.png

Family.fam.exclude(age=20) ——表示的是获取除了age为20的查询集对象

7b26ba3591da411ca65626b6be799c77.png


模糊查询


def orm_options(request):
    obj = Family.fam.filter(name__contains='e')  # 获取name中包含字符e的对象
    obj = Family.fam.filter(name__startswith='A')  # 获取name中首字符为A的对象
    obj = Family.fam.filter(name__endswith='d')  # 获取name中包尾字符为d的对象
    obj = Family.fam.filter(id__in=[1, 2, 3])  # 获取id为1,2,3的对象
    # obj = Family.fam.filter(name__in='Zhangsanlisisdga')  # 如果查询范围为字符串形式时,是无法进行字符串的模式匹配
    print(obj)
    return HttpResponse(obj)


比较查询


def orm_options(request):
    # obj = Family.fam.filter(id__gt=4)   # gt,表示大于
    # obj = Family.fam.filter(id__gte=4)   # gte,表示大于等于
    # obj = Family.fam.filter(id__lt=4)   # gt,表示小于
    obj = Family.fam.filter(id__lte=4)   # gt,表示小于等于
    print(obj)
    return HttpResponse(obj)


相关文章
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
138 6
|
21天前
|
SQL 定位技术 数据库
深入探索Django ORM:高效数据库操作的秘诀####
本文旨在为读者揭开Django ORM(对象关系映射)的神秘面纱,通过一系列生动的比喻和详实的案例,深入浅出地讲解其核心概念、工作原理及高级特性。我们将一起探讨如何利用Django ORM简化数据库交互,提升开发效率,同时确保数据的一致性和安全性。不同于传统的技术文档,本文将以故事化的形式,带领读者在轻松愉快的氛围中掌握Django ORM的精髓。 ####
|
2月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
77 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
90 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
3月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
2月前
|
SQL Go 数据库
【速存】深入理解Django ORM:编写高效的数据库查询
【速存】深入理解Django ORM:编写高效的数据库查询
82 0
|
4月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
306 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
62 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
175 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
3月前
|
数据库 Python
django中数据库外键可以自定义名称吗
django中数据库外键可以自定义名称吗