我有一个过滤器,它正在运行,但我希望通过查找+ - 12天的任何内容来添加更多大脑
所以我想出了这个:
last_date = firstPointCheck.acquisition_date - timedelta(days=12)
next_date = firstPointCheck.acquisition_date + timedelta(days=12)
object_list2 = object_list.filter(center__distance_lte=(firstPointCheck.center, D(m=deltaCenter)), acquisition_date__lte=firstPointCheck.acquisition_date, acquisition_date__gte=last_date)
我不知道如何和日期,所以我可以找到大于等于最后日期且小于或等于下一个日期的所有内容?
现在
答案 0 :(得分:1)
您可以使用Django's range
lookup检查对象的日期是否在指定范围内。它看起来像这样:
last_date = firstPointCheck.acquisition_date - timedelta(days=12)
next_date = firstPointCheck.acquisition_date + timedelta(days=12)
object_list2 = object_list.filter(center__distance_lte=(firstPointCheck.center, D(m=deltaCenter)), acquisition_date__range=[last_date, next_date])
django中的 range
查找是包含的,这意味着范围将包括起始值和结束值。它相当于:
last_date = firstPointCheck.acquisition_date - timedelta(days=12)
next_date = firstPointCheck.acquisition_date + timedelta(days=12)
object_list2 = object_list.filter(center__distance_lte=(firstPointCheck.center, D(m=deltaCenter)), acquisition_date__lte=next_date, acquisition_date__gte=last_date)