Range和LTE / GTE Django过滤器之间的区别

时间:2018-11-28 14:13:23

标签: django

我通过以下两种方式对模型使用过滤器:

  

Model.objects.filter(created_date__gte = datetime(2018,1,11,00,00,00),created_date__lte = datetime(2018,11,11,23,59,59),user_id = 135)

还有

  

Model.objects.filter(user_id = 135,created_date__range = [“ 2018-11-1 00:00:00”,“ 2018-11-11 23:59:59”])

当我检查两个过滤器的计数时,计数有很大的不同。

主要问题是过滤器的range和gte / lte有什么区别?

使用postgres SQL原始查询

  

选择,count()OVER()AS full_count FROM table_name   WHERE user_id = 135 AND DATEDATE('2018-11-01 00:00:00')AND DATE('2018-11-12 23:59:59')之间的ORDER BY BY created_date;

django ORM的计数也不同

0 个答案:

没有答案