基于日期过滤Python / Django,忽略时间

时间:2010-07-27 06:09:06

标签: python django datetime-format

我想将对象过滤到datetime的日期,但无法找到有关如何在任何地方执行此操作的示例。

例如,这可以完美地汇集以下所有事件:

@login_required
def invoice_picker(request):
    """Grab a date from the URL and show all the invoicable deliveries for that day."""
    query = request.GET.get('q' , '2/9/1984')
    date = datetime
    date = datetime.strptime('7/14/2010', '%m/%d/%Y')
    date = date.strptime(query, '%m/%d/%Y')
    results = []
    if query:
        results = LaundryDelivery.objects.filter(end__gte=date)
    return render_to_response('invoicer.html', {
        'results' : results,
        'date' : date,
        'user' : request.user,
    })

但是当我删除__gte时,它什么也没有返回,因为日期是2010-06-22 04:04:00而不是2010-06-22 00:00:00。我也尝试过:

 results = LaundryDelivery.objects.filter(end.date=date)

但遗憾的是我收到错误“关键字不能成为表达式”。有什么想法吗?

1 个答案:

答案 0 :(得分:8)

我认为将日期时间与日期进行比较并不是一个好方法。一种方法如下:

filter(end__year=date.year, end__month=date.month, end__day=date.day)

另一种是使用range查找,以及当天的最短时间和最长时间。