Django-19-ORM单表查询(万能下划线)

前提(初始数据)

 django_study.app01.views.py:新建一个underline_select_db视图函数

from django.shortcuts import render  # 导入显示页面的模块
from django.http import HttpResponse  # 导入显示字符串的模块
from .models import *  # 导入操作的模型类

# Create your views here.

def underline_select_db(request):
    return HttpResponse("查询成功")

django_study.django_study.urls:绑定url与视图函数

url(r'^underline_select_db/$', underline_select_db)

gt 大于

def underline_select_db(request):
    # 筛选出年龄大于22的
    # user_list用来存放满足条件的用户信息
    user_list = []  
    res = User.objects.filter(age__gt=22).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(两条数据满足条件)

lt小于

def underline_select_db(request):
    # 筛选出年龄小于20的
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.filter(age__lt=20).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(一条数据满足条件)

gte大于等于

def underline_select_db(request):
    # 筛选出年龄大于等于22的
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.filter(age__gte=22).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(四条数据满足条件)

lte小于等于

def underline_select_db(request):
    # 筛选出年龄小于等于20的
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.filter(age__lte=20).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(两条数据满足条件)

逗号表示and,需都满足

def underline_select_db(request):
    # 筛选出年龄大于20小于22
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.filter(age__gt=20, age__lt=22).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(两条数据满足条件)

in表示包含(精准查询)

def underline_select_db(request):
    # 取出name为"suner"的数据
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.filter(name__in={"suner"}).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(一条数据满足条件)

exclude+in表示not in:不包含(精准查询)

def underline_select_db(request):
    # 取出age不为19,20,21,22的数据
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.exclude(age__in={19,20,21,22}).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(两条数据满足条件)

contains模糊匹配,区分大小写

icontains模糊匹配,不区分大小写

def underline_select_db(request):
    # 取出name中包含"suner"的数据
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.filter(name__contains="suner").values("name")
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(七条数据满足条件)

range 表示范围,从什么到什么

def underline_select_db(request):
    # 取出年龄为10~20的数据(都是闭区间)
    # user_list用来存放满足条件的用户信息
    user_list = []
    res = User.objects.filter(age__range={10,20}).values()
    for i in res:
        user_list.append(i)
    return HttpResponse("查询结果为:%s"%user_list)

启动状态运行后查看(两条数据满足条件)

猜你喜欢

转载自blog.csdn.net/qq_39620483/article/details/89186926