参考: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')