Django与数据库查询——双下划线方法

博客介绍了Django与数据库查询中的双下划线方法,包括xx__lt(小于)、xx__lte(小于等于)、xx__gt(大于)等多种比较和范围查询方式,还有包含特定值、字符,以及根据日期过滤等功能,同时提到sqlite3对xx__icontains不支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django与数据库查询——双下划线方法

双下划线方法

xx__lt:小于
from django.http import HttpResponse
from app import models
def test1(request):  
    # ① xx_lt:小于
    person_lst = models.App.objects.filter(age__lt=13)
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__lte:小于等于
def test1(request):
# ②xx_lte:小于等于
    person_lst = models.App.objects.filter(age__lte=13)
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__gt:大于
def test1(request):
# ③xx_gte:大于
    person_lst = models.App.objects.filter(age__gt=13)
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__gte:大于等于
def test1(request):
# ④xx_gte:大于等于
    person_lst = models.App.objects.filter(age__gte=13)
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__in:包含某些值
def test1(request):
    # ⑤xx_in:包含某些值
    person_lst = models.App.objects.filter(age__in=[11,12])
    print(person_lst)

    return HttpResponse("双下划线方法")
exclude和xx__in联合使用:不包含
def test1(request):
# ⑥exclude和xx_in联合使用:不包含
    person_lst = models.App.objects.exclude(age__in=[11, 12])
    print(person_lst)
   
    return HttpResponse("双下划线方法")
xx__contains():包含某些字符的
def test1(request):
 # ⑦xx__contains():包含某些字符的
    person_lst = models.App.objects.filter(name__contains='s')
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__icontains():包含某些字符的(忽略大小写),sqlite3不支持
def test1(request):
 # ⑧xx__icontains():包含某些字符的(忽略大小写),sqlite3不支持
    person_lst = models.App.objects.filter(name__icontains='s')
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__range():查找范围
def test1(request):
 # ⑨xx_range():查找范围
    person_lst = models.App.objects.filter(age__range=[10,15])
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__startwith:获取以 ‘ ’ 开头的记录
def test1(request):
 # ⑩ xx_startwith:获取以‘’开头的记录
    person_lst = models.App.objects.filter(age__startwith='z')
    print(person_lst)
    return HttpResponse("双下划线方法")
xx__endwith:获取以 ‘ ’ 结尾的记录
def test1(request):
 # ⑪xx_endwith:获取以‘’结尾的记录
    person_lst = models.App.objects.filter(age__endwith='z')
    print(person_lst)
    return HttpResponse("双下划线方法")
date 可以根据年月日进行过滤
def test1(request):
 # ⑫date 可以根据年月日进行过滤
    person_lst = models.App.objects.filter(birthday__day=7)
    print(person_lst)
    
    return HttpResponse("双下划线方法")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值