我想在一定的时间范围内(比如9到12)选择数据库中的所有对象。现在,我是这样做的:
my_range = range(9,12)
excluded_range = [x for x in range(24) if not x in my_range]
selected_objects = MyModel.objects.all()
for hour in excluded_range:
selected_objects = selected_objects.exclude(datetimefield__hour=hour)
有没有一种方法只使用查询就可以做到这一点?(使用django 1.7)
编辑:
对于for循环中的每次迭代,您的方法都会命中数据库。
考虑使用以下方法
这可以通过使用reduce来完成:
相关问题 更多 >
编程相关推荐