我的问题是:
使用以下查询,如何获取到期的联系人()?即运行视图时尚未发送的所有联系人
Contact.objects.filter(send_email_on=<WHERE TIME NOW???? , status='not sent')
注意我不希望将来的联系人突然发送到现在()
答案 0 :(得分:2)
好吧,你可以尝试:
from datetime import datetime
# greater than or equal now(), change the __lte for whatever you need
Contact.objects.filter(send_email_on__lte=datetime.now(), status='not sent')
您可以查看the docs,这对字段查找字符串非常有帮助。
提示:
答案 1 :(得分:1)
import datetime
from django.utils.timezone import utc
now = datetime.datetime.utcnow().replace(tzinfo=utc)
Contact.objects.filter(send_email_on__lt=now , status='not sent')
前提是send_email_on
是DateTimeField。
对于lt
(小于),请参阅here。
虽然我认为您需要使用celery和periodic tasks。