我正在尝试查看合同当前是否处于活动状态,因此我需要检查当前日期是否在合同开始日期和结束日期之间。
class Contract(models.Model):
user = models.ForeignKey(User, on_delete = models.CASCADE)
start_date = models.DateField(null = True, blank = True)
end_date = models.DateField(null = True, blank = True)
答案 0 :(得分:3)
您可以做到
import datetime
today = datetime.date.today()
Contract.objects.filter(start_date__lte=today, end_date__gte=today)
答案 1 :(得分:2)
以下应该可以获取开始日期在今天之前或今天,结束日期在今天之后或今天的合同。
lte ==低于或等于
gte ==大于或等于
from django.utils import timezone
date_today = timezone.now().date()
active_contract = Contract.objects.filter(start_date__lte=date_today, end_date__gte=date_today)