我有这样的表
id p_id number
1 1 12
2 1 13
3 2 14
4 2 15
如何在我的视图中获取此类项目, 我的意思是按p_id分组并从组中获取数字值
for p_id 1 returns count 2 and 12,13
for p_id 2 returns count 2 and 14,15
答案 0 :(得分:2)
您可以使用values()
和annotate()
进行分组,因此:
from django.db.models import Count
pid_group = YourModel.objects.values('p_id').annotate(ncount=Count('number'))
之后,您将获得这样的词组pid_group
列表:
[{'p_id': 1, 'ncount': 2}, {'p_id': 2, 'ncount': 2}]
您可以轻松获得数字值:
for pid in pid_group:
number_values = YourModel.objects.filter(p_id=pid.get('p_id'))
希望它有所帮助。