3.数据库的一些基本操作

参考:Django 模型中一些自定义的总结https://www.jianshu.com/p/2bc5b7c4275d

         https://www.cnblogs.com/weihengblog/p/9029602.html          

         查询分页:https://www.cnblogs.com/songdanlee/p/11448836.html

官方文档: https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.unique                 

     对于下面这个语句来说,执行的是,以第一个values('shop_id')进行group by,然后进行计数和求和操作。最后的values相当于select xxx。

注意,values返回的是一个特殊的<queryset>字典形式,可迭代,但是已经不是实例对象了。对于有外键的values写法,就是如,shop模型对象的

属性,使用shop__shop_name,加两个“__"来取值。如果只是用shop,返回的是id值(主键)

shopvs = VoteStatus.objects.filter(votepro=vp.votepro_id).order_by('shop_id')\
            .values('shop_id').annotate(vc=Count('voter'), vf = Sum('voter_flower'))\
                .values('votepro_id', 'shop_id', 'shop__shop_num', 'shop__shop_name', 'vc', 'vf')

猜你喜欢

转载自www.cnblogs.com/cycxtz/p/12610551.html