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)

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值