Django与数据库查询——双下划线方法
双下划线方法
xx__lt:小于
from django. http import HttpResponse
from app import models
def test1 ( request) :
person_lst = models. App. objects. filter ( age__lt= 13 )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__lte:小于等于
def test1 ( request) :
person_lst = models. App. objects. filter ( age__lte= 13 )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__gt:大于
def test1 ( request) :
person_lst = models. App. objects. filter ( age__gt= 13 )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__gte:大于等于
def test1 ( request) :
person_lst = models. App. objects. filter ( age__gte= 13 )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__in:包含某些值
def test1 ( request) :
person_lst = models. App. objects. filter ( age__in= [ 11 , 12 ] )
print ( person_lst)
return HttpResponse( "双下划线方法" )
exclude和xx__in联合使用:不包含
def test1 ( request) :
person_lst = models. App. objects. exclude( age__in= [ 11 , 12 ] )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__contains():包含某些字符的
def test1 ( request) :
person_lst = models. App. objects. filter ( name__contains= 's' )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__icontains():包含某些字符的(忽略大小写),sqlite3不支持
def test1 ( request) :
person_lst = models. App. objects. filter ( name__icontains= 's' )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__range():查找范围
def test1 ( request) :
person_lst = models. App. objects. filter ( age__range= [ 10 , 15 ] )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__startwith:获取以 ‘ ’ 开头的记录
def test1 ( request) :
person_lst = models. App. objects. filter ( age__startwith= 'z' )
print ( person_lst)
return HttpResponse( "双下划线方法" )
xx__endwith:获取以 ‘ ’ 结尾的记录
def test1 ( request) :
person_lst = models. App. objects. filter ( age__endwith= 'z' )
print ( person_lst)
return HttpResponse( "双下划线方法" )
date 可以根据年月日进行过滤
def test1 ( request) :
person_lst = models. App. objects. filter ( birthday__day= 7 )
print ( person_lst)
return HttpResponse( "双下划线方法" )