【问题标题】:django rest framework - filtering against date query parameterdjango rest 框架 - 过滤日期查询参数
【发布时间】:2017-09-24 20:25:17
【问题描述】:

在我看来,我收到了date 参数,我正在过滤它,以便显示我今天的联系人,它是这样的:

filter_date = self.request.query_params.get('filter_date', None)

for queryset in contact_lead:
   if filter_date is not None:
       queryset = queryset.filter(next_action_date__gte=filter_date)

return queryset

就像我说的那样,我可以看到我今天的联系人,但是有一些过去的联系,现在因为 datepicker 有过去的日期限制,我看不到他们,我希望我过去的所有联系人今天或将来的任何一天出现,所以重点是我不希望留下过去创建的联系人,所以有人可以帮助我并解释我怎样才能得到那个结果。

【问题讨论】:

  • 将 __gte 替换为 __lte
  • 好吧,这很尴尬,但成功了:-|
  • 哈哈。发生!你能帮我达到 1k 代表点吗?我会回答同样的问题并接受它..
  • @AbijithMg shure,你可以给我详细的解释

标签: django django-rest-framework django-queryset django-rest-viewsets


【解决方案1】:

在查询查找中将大于或等于 (__gte) 替换为小于或等于 (__lte)。如下图:

queryset = queryset.filter(next_action_date__lte=filter_date)

这将解决问题。

【讨论】:

    【解决方案2】:

    有两个运算符来做这个小于等于(__lte)

    如下所示:

     queryset = queryset.filter(next_action_date__lte=filter_date)
    

    第二个小于 (__le),

    这不会给出当前的过滤条件

     queryset = queryset.filter(next_action_date__lt=filter_date) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-21
      • 2018-04-23
      • 2017-10-06
      • 2016-01-14
      • 1970-01-01
      • 2016-12-09
      • 2012-12-24
      • 2017-05-27
      相关资源
      最近更新 更多