1.get():返回表中满足条件的一条且只能有一条数据。
如果查到多条数据,则抛异常:MultipleObjectsReturned
查询不到数据,则抛异常:DoesNotExist
例:查询图书id为3的图书信息。
BookInfo.objects.get(id=3)
2.all():返回模型类对应表格中的所有数据。QuerySet类型,查询集
例:查询图书所有信息。
BookInfo.objects.all()
3.filter():参数写查询条件,返回满足条件的数据。QuerySet
条件格式:
模型类属性名__条件名=值 或者 模型类属性名=名(没有外键)
例:查询图书id为3的图书的信息:
BookInfo.objects.filter(id=3)
例:查询书名为“天龙八部”的所有英雄。
HeroInfo.objects.filter(hbook__btitle='天龙八部')
4. 判等 exact。
例:查询编号为1的图书。
BookInfo.objects.get(id=1)
BookInfo.objects.get(id__exact=1) --不常用
5. 模糊查询
例:查询书名包含'传'的图书。contains
BookInfo.objects.filter(btitle__contains='传')
例:查询书名以'部'结尾的图书 endswith 开头:startswith
BookInfo.objects.filter(btitle__endswith='部')
6. 空查询 isnull select * from booktest_bookinfo where title is not null;
例:查询书名不为空的图书。isnull
BookInfo.objects.filter(btitle__isnull=False)
7. 范围查询 in select * from booktest_bookinfo where id in (1,3,5)
例:查询编号为1或3或5的图书。
BookInfo.objects.filter(id__in = [1,3,5])