一、前言:
Django查询数据库中的信息,实质是将SQL语句封装成了其内置的方法。打开mysql日志文件可以看到django每次执行查询命令时对应的sql语句。
查看mysql日志的方法:
1.修改mysql配置文件,去除68,69行的注释。文件路径(/etc/mysql/mysql.conf.d/mysqld.cnf):
2.重启mysql服务:
sudo service mysql restart
3.查看mysql日志文件,文件路径(/var/log/mysql/mysql.log):
sudo tail -f /var/log/mysql/mysql.log
二、查询命令详细:
2.1 查询函数:
通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。
函数名
功能
返回值
说明
get
返回表中满足条件的一条且只能有一条数据。
返回值是一个模型类对象。
参数中写查询条件。
如果查到多条数据,则抛异常MultipleObjectsReturned。
2)查询不到数据,则抛异常:DoesNotExist。
all
返回模型类对应表格中的所有数据。
返回值是QuerySet类型
查询集
filter
返回满足条件的数据。
返回值是QuerySet类型
参数写查询条件。
exclude
返回不满足条件的数据。
返回值是QuerySet类型
参数写查询条件。
order_by
对查询结果进行排序。
返回值是QuerySet类型
参数中写根据哪些字段进行排序。
get示例:
例:查询图书id为3的图书信息。
BookInfo.objects.get(id=3)
all方法示例:
例:查询图书所有信息。
BookInfo.objects.all()
filter方法示例:
条件格式:
模型类属性名__条件名=值
查询图书评论量为34的