Python-DJ-ORM数据库的模糊查询操作

模糊查询:

image

student/views.py文件
from django.shortcuts import HttpResponse

from .models import Student


def student_add(request):
    # stu=Student(name="李四",age=18,sex=0,birthday="2021-11-23")
    # stu.save()
    # print(stu.name)
    # print(stu.age)
    # print(stu.sex)
    # print(stu.birthday)
    stu = Student.objects.create(name="郑十", age=15, sex=0, birthday="2002-2-2")
    print(stu.name)
    print(stu.age)
    print(stu.sex)
    print(stu.birthday)
    return HttpResponse("添加成功")


def student_select(request):
    ## 查询所有名字中有张的学生
    stu1=Student.objects.filter(name__contains='张')
    stu2 = Student.objects.filter(name__startswith='张')
    stu3 = Student.objects.filter(name__endswith='三')
    print(stu1,stu2,stu3)
    ## 查询名字不为空的记录
    stu4 = Student.objects.filter(name__isnull=False)
    print(stu4)
    ## 大于gt、gte大于等于、lt小于、lte小于等于
    stu5 = Student.objects.filter(age__gt=30)
    stu6 = Student.objects.filter(age__gte=20)
    stu7 = Student.objects.filter(age__lt=30)
    stu8 = Student.objects.filter(age__lte=20)
    print("大于30岁的:",stu5, "大于等于20岁的:",stu6, "小于30岁的:",stu7, "小于等于20岁的:",stu8)
    ## 查询年龄在20-40之间的学生
    stu9=Student.objects.filter(age__range=(20,40))
    print(stu9)
    print("*" * 100)
    ## 查询年龄在*** 中的学生
    stu10=Student.objects.filter(age__in=[18,19,20])
    print(stu10)
    ## 查询出生在1985的学生:year/year/month/day/week_day/hour/minute/second
    stu11=Student.objects.filter(birthday__year=1985)
    print(stu11)
    return HttpResponse("*******************模糊查询成功*******************")
posted @ 2022-03-21 12:04  咖啡馆  阅读(132)  评论(0编辑  收藏  举报