要按特定用户统计数据,可以使用以下代码示例:
from django.db.models import Count
from django.contrib.auth.models import User
from myapp.models import MyModel
# 以特定用户的用户名作为过滤条件
username = 'example_user'
# 选择需要计数的列,并按其出现次数排序
counts = MyModel.objects.filter(user__username=username).values('column_name').annotate(count=Count('column_name')).order_by('-count')
# 打印结果
for count in counts:
print(count['column_name'], count['count'])
在上面的代码中,我们选择了要计数的列,并在查询时使用了 filter
函数,以特定用户的用户名作为过滤条件。通过使用 values
函数,我们可以避免返回所有 MyModel
的实例,而只返回 column_name
和对应的计数值。最后,我们按 count
的值进行降序排序并打印结果。
上一篇:按特定行首进行排序
下一篇:按特定用户和特定属性过滤对象数组