如何统计Django中QuerySet的数量?求语法指导
Django 查询出生日期区间内员工数量的实现方法
要获取符合条件的员工数量,直接在你的查询语句后调用count()方法即可,有两种常用写法:
写法一:链式调用(推荐)
直接在filter之后拼接count(),Django会生成一条COUNT SQL语句,避免加载大量对象到内存,效率更高:
employees_birthday_count = Employees.objects.filter(EmployeeDataNasc__gte=first_day, EmployeeDataNasc__lte=last_day).count()
写法二:基于已有的QuerySet计数
如果已经保存了之前的employees_birthday QuerySet,直接对它调用count()也能得到数量:
employees_birthday = Employees.objects.filter(EmployeeDataNasc__gte=first_day, EmployeeDataNasc__lte=last_day) employees_birthday_count = employees_birthday.count()
注意:尽量不要用
len(employees_birthday)来计数——这种方式会把所有符合条件的员工对象全部加载到内存中,数据量大时会严重拖慢性能。
内容的提问来源于stack exchange,提问作者Gustavo Cavasotto
相关产品推荐
相关产品推荐

