obj=models.Student.objects
#筛选age<33 >__gt
stu=obj.filter(age__lt=33)
print(stu)
#<QuerySet [<Student: <Student obj name : 赵四>>, <Student: <Student obj name : 丁楠>>]>
#筛选age<=33 >= __gte
stu=obj.filter(age__lte=33)
print(stu)
#<QuerySet [<Student: <Student obj name : 赵四>>, <Student: <Student obj name : 丁楠>>, <Student: <Student obj name : 杜斌>>]>
#年龄包含33 12
stu=obj.filter(age__in=[33,12])
print(stu)
#<QuerySet [<Student: <Student obj name : 丁楠>>, <Student: <Student obj name : 杜斌>>]>
#年龄不包含33 12
stu=obj.exclude(age__in=[33,12])
print(stu)
#<QuerySet [<Student: <Student obj name : 赵四>>, <Student: <Student obj name : 梁鹏飞>>]>
#名字中包含某个字符的记录
#name__contains区分大小写
#name__icontains忽略大小写
stu=obj.filter(name__contains='四')
print(stu)
#<QuerySet [<Student: <Student obj name : 赵四>>]>
#查找范围
stu=obj.filter(age__range=[33,50])
print(stu)
#<QuerySet [<Student: <Student obj name : 梁鹏飞>>, <Student: <Student obj name : 杜斌>>]>
#name以赵开头的记录
stu=obj.filter(name__startswith='赵')
print(stu)
#<QuerySet [<Student: <Student obj name : 赵四>>]>
#name以飞结束的记录
stu=obj.filter(name__endswith='飞')
print(stu)
#<QuerySet [<Student: <Student obj name : 梁鹏飞>>]>
stu=obj.filter(birthday__year=1999)
print(stu)
#<QuerySet [<Student: <Student obj name : 赵四>>]>
print(stu[0].birthday)
#1999-11-11
filter 筛选方法
最新推荐文章于 2022-05-09 10:51:50 发布