标签:python 属性 multiple ble leo read html 对象 exist
一、前言:
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 查询函数:
函数名
|
功能
|
返回值
|
说明
|
get
|
返回表中满足条件的一条且只能有一条数据。
|
返回值是一个模型类对象。
|
参数中写查询条件。
2)查询不到数据,则抛异常:DoesNotExist。
|
all
|
返回模型类对应表格中的所有数据。
|
返回值是QuerySet类型
|
查询集
|
filter
|
返回满足条件的数据。
|
返回值是QuerySet类型
|
参数写查询条件。
|
exclude
|
返回不满足条件的数据。
|
返回值是QuerySet类型
|
参数写查询条件。
|
order_by
|
对查询结果进行排序。
|
返回值是QuerySet类型
|
参数中写根据哪些字段进行排序。
|
BookInfo.objects.get(id=3)
BookInfo.objects.all()
BookInfo.objects.filter(bcomment=34)
BookInfo.objects.get(id=1)
BookInfo.objects.filter(btitle__contains=‘传‘)
BookInfo.objects.filter(btitle__endswith=‘部‘)
c)空查询 isnull
# select * from booktest_bookinfo where btitle is not null; BookInfo.objects.filter(btitle__isnull=False)
# select * from booktest_bookinfo where id in (1,3,5); BookInfo.objects.filter(id__in = [1,3,5])
# Select * from booktest_bookinfo where id>3; BookInfo.objects.filter(id__gt=3)
BookInfo.objects.filter(bpub_date__year=1980)
from datetime import date BookInfo.objects.filter(bpub_date__gt=date(1980,1,1))
BookInfo.objects.exclude(id=3)
BookInfo.objects.all().order_by(‘id‘)
BookInfo.objects.all().order_by(‘-id‘)
BookInfo.objects.filter(id__gt=3).order_by(‘-bread‘)
2.2 F对象 —— 类属性比较
BookInfo.objects.filter(bread__gt=F(‘bcomment‘))
BookInfo.objects.filter(bread__gt=F(‘bcomment‘)*2)
BookInfo.objects.filter(id__gt=3, bread__gt=30) BookInfo.objects.filter(Q(id__gt=3)&Q(bread__gt=30))
BookInfo.objects.filter(Q(id__gt=3)|Q(bread__gt=30))
BookInfo.objects.filter(~Q(id=3))
BookInfo.objects.all().aggregate(Count(‘id‘)) # {‘id__count‘: 5}
BookInfo.objects.aggregate(Sum(‘bread‘)) # {‘bread__sum‘: 126}
BookInfo.objects.all().count() BookInfo.objects.count()
BookInfo.objects.filter(id__gt=3).count()
方式
|
说明
|
b[0]
|
如果b[0]不存在,会抛出IndexError异常
|
b[0:1].get()
|
如果b[0:1].get()不存在,会抛出DoesNotExist异常。
|
标签:python 属性 multiple ble leo read html 对象 exist
原文地址:https://www.cnblogs.com/zzmx0/p/12814275.html