码迷,mamicode.com
首页 > 其他好文 > 详细

django查询过滤

时间:2017-09-28 20:45:15      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:port   start   直接   put   nbsp   mod   平均值   最大值   upd   

查询过滤:

models.UserProfile.objects.filter(name__contains=‘liu‘) 忽略大小写在contains前面加个i

models.UserProfile.objects.filter(id__range=[1:3]) 根据id查找想要的数据

models.UserProfile.objects.all()[:5] 查询前5条

models.UserProfile..objects.order_by(‘name‘)[0]排序取第一条

models.UserProfile..objects.filter(name__startwith=‘liuyi‘) 查找 以什么开头的

models.UserProfile..objects.filter(name__endwith=‘liuyi‘) 查找 以什么j结尾的

 

单表内不同字段对比:

from django.db.models import F

models.UserProfile.objects.filter(name_gt=F(‘age‘))

 

单表内and查询:

frmo django.db.models import F

models.UserProfile.bojects.filter(name_gt=F(‘age‘),age_lt=F(‘name‘))

 

单表内or查询:

from django.db.models import Q

models.UserProfile.objects.filter(Q(name__gt=F(‘name‘))|Q(age__gt=F(‘age‘)))

 

原有数据自增:

entry.objects.all().update(age=F(‘age‘)+1)

 

orm聚合 求平均值

from django.db.models import Avg,Sum,Min,Max

models.UuserProfile.objects.all().aggregate(Avg(‘age‘))

 

orm聚合 求最大值,最小值,和

from django.db.models import Avg,Sum,Min,Max

models.UserProfile.objects.all().aggregate(Max(‘age‘))

models.UserProfile.objects.all().aggregate(ri=Sum(F(‘age‘)/F(‘name‘)),output_field=FloatField())

 

统计:

haha.objects.annotate(ri=Count(‘group‘))  group是字段,不清楚能不能直接写别的表名

django查询过滤

标签:port   start   直接   put   nbsp   mod   平均值   最大值   upd   

原文地址:http://www.cnblogs.com/yixinbuluan/p/7608245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!