前一天怎么办时区。现在()

2024-04-23 11:48:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个按钮,应该出现在模型对象的开始日期前一天。在我看来,我有一个函数可以告诉我对象的开始日期或结束日期是现在。在

    def has_engagement(self):
        from rental.models import Inquiry
        inquiries = Inquiry.objects.filter(inquiryequipment__equipment=self).filter(start_date__lte= timezone.now()).\
            filter(end_date__gte=timezone.now()).filter(status="CO")
        if not inquiries:
            return False
            # no current confirmed engagement
        else:
            return True
            # there is a current confirmed engagement

而不是这样,我需要检查今天是开始日期还是结束日期的前一天。 有什么想法吗?谢谢


Tags: 对象函数模型selfdatereturncurrentfilter
1条回答
网友
1楼 · 发布于 2024-04-23 11:48:30

您可以使用timedelta,如下所示:

previous = timezone.now() - timedelta(1)  # returns date object of previous day
next = timezone.now() + timedelta(1)  # returns date object of next day
Inquiry.objects.filter(start_date__lte=previous, end_date__gte=next, status="CO", inquiryequipment__equipment=self)

注意您可以使用逗号分隔来过滤queryset和querys

相关问题 更多 >