国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Django框架models使用group by詳解

瀏覽:4日期:2024-10-22 15:57:58

Django框架models使用group by詳解:

首先,看下列代碼:

UserData.objects.filter(hubid=sensorid,time__range=(time2,time1)).values(’hour’).annotate(sum_out=Sum(’outdoor’), sum_in=Sum(’indoor’), sum_eat=Sum(’kitchen’), sum_wash=Sum(’toilet’)).order_by(’hour’)

上述代碼相當于sql語句:

select Sum(’outdoor’) as sum_out,Sum(’indoor’) as sum_in,Sum(’kitchen’) as sum_eat,Sum(’toilet’) as sum_wash,hourwhere hubid=’sensorid’ and (time between time1 and time2)group by hourorder by hour asc

另外,在Django中order_by(‘hour’)表示按生序排列,若要按降序排列,則使用order_by(‘-hour’)

補充知識:django模型orm進行group by

場景:三個模型分別為教師,學生,課程。一個教師可主講多門課程,但一門課程只能由一個教師主講,即教師和課程是一對多的關系。一個學生可選多門課程,一門課程可被多個學生選,即學生和教師為多對多的關系。

class Teacher(models.Model): name = models.CharField(max_length=20, verbose_name=’教師姓名’) def __unicode__(self): return self.nameclass Student(models.Model): name = models.CharField(max_length=20, verbose_name=’學生姓名’) def __unicode__(self): return self.nameclass Course(models.Model): name = models.CharField(max_length=20, verbose_name=’課程名’) teacher = models.ForeignKey(Teacher, verbose_name=’主講人’) student = models.ManyToManyField(Student, verbose_name=’選課學生’) def __unicode__(self): return self.name

選取某教師主講的pk最小的課:

Teacher.objects.annotate(Min(’course__pk’)).get(pk=2).course__pk__min

多對多也一樣

這個例子不太典型,比如快遞和其狀態兩張表是一對多關系,查最新的狀態就可以使用這種方法(也可以在有新的狀態時在快遞表中每次更新最新的狀態)

以上這篇Django框架models使用group by詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 尤物tv已满18点击进入 | tube69xxx最新片 | 国产伦码精品一区二区三区 | 三级国产三级在线 | 免费一级毛片在线播放不收费 | 日本久久免费 | 欧美一级视频免费看 | 婷婷亚洲久悠悠色在线播放 | 手机国产精品一区二区 | 久久99一区 | 国产成人综合在线视频 | a毛片视频免费观看影院 | 久久一本色系列综合色 | 一级看片免费视频 | 午夜欧美成人 | 国产精选在线视频 | 欧美片欧美日韩国产综合片 | 亚洲精品国产精品国自产 | 国产精品永久免费自在线观看 | 精品成人在线视频 | 欧美做暖小视频xo免费 | 欧美综合一区二区三区 | 欧美3p精品三区 | 日韩一品在线播放视频一品免费 | 韩国毛片在线 | 香港日本韩国三级网站 | 亚洲 [12p] | 在线视频中文字幕 | 亚洲人成影院午夜网站 | 在线播放一级片 | 久草国产在线播放 | 精品久久久久久无码中文字幕 | 欧美一级α片毛片免费观看 | 亚洲国产天堂在线网址 | 手机看成人片 | 日本欧美久久久久免费播放网 | 成人做爰视频www在线观看 | 久久99国产精一区二区三区! | 久久国产免费一区 | 日韩欧美毛片免费观看视频 | 99热.com|