我有3个月前创建的queryset过滤用户。
User.objects.filter(
create_date__range=(
datetime.now()-timedelta(90),datetime.now()
)
)
以上返回3个月前到现在日期范围内的所有用户。但是我不需要把它归还给很多人。
我需要从datetime.now()
返回所有将在7天内完成3个月的用户。
例子。
now = 2018-05-29
create_date = 2018-04-20
现在将显示超过7天至3个月。
create_date = 2018-03-04
< - 这将显示6天后将是3个月。
答案 0 :(得分:0)
我假设create_date
是models.DateField()
。
如果我理解你的问题,你可以试试这个:
import datetime as dt
from django.utils import timezone as tz
today_ = tz.now().date()
today_plus_7 = today_ + dt.timedelta(days=7)
today_plus_7_minus_90 = today_plus_7 - dt.timedelta(days=90)
# users that are 83 days or YOUNGER
#qs = User.objects.filter(create_date__range=[
# today_plus_7_minus_90, today_plus_7])
qs = User.objects.filter(create_date__gte=today_plus_7_minus_90)
# users that are 83 days or OLDER
qs = User.objects.filter(create_date__lte=today_plus_7_minus_90)