django数据库查询

本文介绍了Django中使用sqlite3数据库的方法,包括直接引入和手动添加,并详细讲解了数据库的增、查、删、改操作。在增查操作中,提到了两种不同的实现方式。在查询时,强调了Query_set的惰性加载特性。对于删除和修改,文章提供了具体的操作示例。此外,还提及在复杂逻辑下可能需要使用原生SQL进行查询。

预备知识

1.网站

动态:数据可以实现动态交互

静态:数据来源于页面,不容易修改,开发成本低

2.网站

前端:html    css     javascript    jquery    vue    Node.js    bootstrap    Angular    Ajax

后端:python    php    java    .net    mysql    Mongo    oracle    redis

前台:数据展示   用户交互

后台:数据管理  管理交互

3.博客

前台:展示文章

后台:添加文章,删除文章


1.django使用sqlite3数据库

第一种方法:直接拉过去

第二种方法:添加

在这个过程中可能出现sqlite驱动加载失败的情况,

解决办法请看:https://blog.youkuaiyun.com/g_optimistic/article/details/88956695

2.数据库操作语句

(1)增

有两种方法

方法一:利用实例化

方法二:调用objects的create方法

(2)查

Query_set惰性

我们使用query_set进行查询,没有进行遍历,排序等需要操作排序的元素的操作的时候,数据没有被实例化出来

如何将所有的数据进行前端渲染

1.查询数据,数据返回的是一个query_set对象或者单个数据

2.使用locals或者字典将数据添加到responses当中,然后传递给前端

3.query_set对象是一个有序序列,我们可以通过前端的方法进行调用

(3)删

删除单条数据

删除多条数据

(4)改

在工作当中,我们通常用orm的增删改查,在复杂的逻辑下还是用原生sql进行查询

views.py

showType.py

127.0.0.1:8000/showType

 

 

Django是一个流行的Python Web框架,它提供了许多功能来简化数据库操作查询。在Django中,你可以使用ORM(对象关系映射)来查询数据库。ORM允许你将数据模型与数据库表分开,从而使得数据库操作更加灵活和易于管理。 Django提供了许多内置的数据库查询工具,包括以下几种: 1. 查询构建器:Django提供了强大的查询构建器,允许你使用SQL语句来构建查询。你可以使用`QuerySet`对象来构建查询,它提供了许多方法来过滤、排序、分组和连接数据。 2. 过滤器:Django查询构建器支持各种过滤器,例如`filter()`、`exclude()`、`order_by()`等,这些方法允许你根据条件对数据进行筛选和排序。 3. 关联查询Django支持关联查询,可以方便地查询多个表之间的关联数据。你可以使用`select_related()`、`prefetch_related()`等方法来执行关联查询,以提高性能和减少数据库交互次数。 4. 聚合查询Django查询构建器还支持聚合查询,可以用于计算总和、平均值、计数等统计信息。你可以使用`annotate()`、`aggregate()`等方法来进行聚合查询。 5. 数据库迁移:Django提供了数据库迁移工具,可以帮助你在开发过程中轻松地更新数据库结构。你可以使用`makemigrations`和`migrate`命令来创建和执行迁移文件,以更新数据库结构。 下面是一个简单的示例,展示了如何在Django中使用查询构建器和过滤器进行数据库查询: ```python from myapp.models import MyModel # 获取所有满足条件的模型实例 queryset = MyModel.objects.filter(status=1) # 按照指定字段排序 queryset = queryset.order_by('created_at') # 获取指定字段的总数 total = queryset.count() ``` 这只是一些基本的介绍,Django还提供了更多高级的查询功能和工具,可以根据具体需求进行学习和使用。你可以参考Django官方文档和教程,以获取更多关于数据库查询的详细信息和示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值