我只尝试获取计划的“ potential_individual_meetings”,但前提是它们在最后一小时内发生,然后将推送通知发送给参与会议的用户。
推送通知可以很好地发送,但似乎并非始终都可以发送。在我看来,通知仅在NOW时间恰好在安排会议后1小时时发送。
我尝试执行以下操作,但似乎无法将<和>用于Filter()。
现在> ONE_HOUR,现在 哪个将替换datetime__gte = INDIVIDUAL_RANGE_START,
datetime__lt = INDIVIDUAL_RANGE_END 我正在为非营利组织维护他人的代码,但是Python对我而言不是一门强大的语言。有人可以在这里给我任何帮助,将不胜感激。NOW = timezone.now()
FIVE_MINUTES_AGO = NOW - timedelta(minutes=5)
ONE_HOUR = timedelta(hours=1)
NINETY_MINUTES = timedelta(minutes=90)
INDIVIDUAL_RANGE_START = FIVE_MINUTES_AGO - ONE_HOUR
INDIVIDUAL_RANGE_END = NOW - ONE_HOUR
potential_individual_meetings = Event.objects.filter(
status=1,
datetime__gte=INDIVIDUAL_RANGE_START,
datetime__lt=INDIVIDUAL_RANGE_END
)
individual_meetings = [e for e in potential_individual_meetings if not e.meeting.group]
答案 0 :(得分:0)
这似乎为您提供了1小时5分钟前到1小时前的范围:
INDIVIDUAL_RANGE_START = FIVE_MINUTES_AGO - ONE_HOUR
INDIVIDUAL_RANGE_END = NOW - ONE_HOUR
您想要的东西可能接近:
INDIVIDUAL_RANGE_START = NOW - ONE_HOUR
INDIVIDUAL_RANGE_END = FIVE_MINUTES_AGO
或者可能只是INDIVIDUAL_RANGE_END = NOW
,但我想您有一个五分钟的缓冲时间是有原因的。
答案 1 :(得分:0)
您的时间范围长度只有五分钟,但是听起来好像您希望是一小时,或者说是65分钟。
为什么不简单地改变它:
INDIVIDUAL_RANGE_END = NOW - ONE_HOUR
对此:
INDIVIDUAL_RANGE_END = NOW
无论如何,现在打印RANGE_START和RANGE_END变量,以及现在,都可能会向您显示问题所在。