字段查询、查询集
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
那么就会在指定路径下生成文件。