4.order_by( )
objects_order_by = Book.objects.order_by('price')
print(objects_order_by)
for order in objects_order_by:
print(order)
用法:model类名.objects.order_by('-列名','列名' )
作用:相当于sql语句的order by子句对查询结果根据某个字段选择性的进行排序。默认升序排序,降序列名前面加'-'。
此外:使用query方法可以得到对应的sql语句
5.filter(条件)
用法:model类名.objects.filter(属性名1=值1,属性名2=值2)
作用:返回包含此条件的所有数据集。返回值QuerySet容器对象,内部存放model实例。
objects_filter = Book.objects.filter(pub='北京出版社')
for book in objects_filter:
print(book)
6.exclude( ),与filter相反,返回不包含此条件的全部数据集。
7.get(条件)
用法:model类名.objects.get
作用:返回满足条件的唯一一条数据。查询结果大于一条数据,会抛出异常。
objects_get = Book.objects.get(price=45)
print(objects_get)
8.字段名__exact
book_objects_filter = Book.objects.filter(price__exact=37)
print(objects_get)
#等同于select * from book where price = 37
9.字段名__contains
包含指定值
q = Book.objects.filter(pub__contains='版')
print(q)
#等同于select * from book where pub like '%版%'
10.字段名__startwith
query_set = Book.objects.filter(title__startswith='C')
print(query_set)
for book in query_set:
print(book)
11.字段名__endwith
q1 = Book.objects.filter(title__endswith='弃')
print(q1)
for book in q1:
print(book)
12.字段名__gt : 大于指定值
q2 = Book.objects.filter(price__gt=50)
print(q2)
for book in q2:
print(book)
13. 字段名__gte:大于等于
14. 字段名__lt:小于
15. 字段名__lte:小于等于
16. 字段名__in:查询数据指定范围内数据
q1 = Book.objects.filter(title__in=['C++入门到放弃'])
print(q1)
for book in q1:
print(book)
17. 字段名__range:查询在指定区间内数据集
q1 = Book.objects.filter(price__range=(38, 99))
print(q1)
for book in q1:
print(book)