字段查询、查询集

1. 字段查询

通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。

函数名

功能

返回值

说明

get

返回表中满足条件的一条且只能有一条数据。

返回值是一个模型类对象。

参数中写查询条件。

1)如果查到多条数据,则抛异常MultipleObjectsReturned。

2)查询不到数据,则抛异常:DoesNotExist。

all

返回模型类对应表格中的所有数据。

返回值是QuerySet类型

查询集

filter

返回满足条件的数据。

返回值是QuerySet类型

参数写查询条件。

exclude

返回不满足条件的数据。

返回值是QuerySet类型

参数写查询条件。

order_by

对查询结果进行排序。

返回值是QuerySet类型

参数中写根据哪些字段进行排序。

get、all前面已经使用过了,下面主要讲解filter、exclude和order_by的使用。

准备数据:

字段查询、查询集

index.html:

<html>
<head>
    <title>图书列表</title>
</head>
<body>
<h1>{{title}}</h1>
{%for i in list%}
{{i.id}}<br>
{{i.btitle}}<br>
{{i.bpub_date}}<br>
{{i.bread}}<br>
{{i.bcomment}}<br>
{%endfor%}
</body>
</html>

我们后面的查询只需要在views.py中修改代码就行了。

1.1 查看mysql数据库日志

为了方便查看查询结果,我们先配置下,让系统生成mysql日志文件。

我使用的是mysql5.7版本,其他版本可以参考这个,但是建议是自己去百度。

查看mysql数据库日志可以查看对数据库的操作记录需要做如下配置:

首先查看是否开启了binlog:show binary logs;

字段查询、查询集

发现没有开启logs,那么我们就可以开始配置了。

我们要去C:\ProgramData\MySQL\MySQL Server 5.7路径下找到my.ini文件。

字段查询、查询集

然后编辑这个文件,我们可以使用搜索功能。

字段查询、查询集

修改成这样:

# Binary Logging.
log-bin=mysql-bin
binlog-format=Row

字段查询、查询集

如果不能修改,就使用管理员权限打开。

然后重启mysql服务。

验证binlog是否开启:show variables like 'log_bin'; 和 show binary logs;

字段查询、查询集

binlog文件的位置:如果在修改my.ini的binlog时给的是全路径,那么生成的日志文件就在指定的目录下;如果只给一个名字,那么生成的binlog日志的位置为: 

字段查询、查询集

如果给的全路径配置为:

log-bin=指定路径\mysql-bin
binlog-format=Row

那么就会在指定路径下生成文件。