我想通过将end_date和start_date之间的值与sysdate进行比较,并基于end_date和start_date(即Date_Fate)知道谁今天休假,如果它与sysdate匹配则返回。
models.py
class leave(models.Model):
employee = models.ForeignKey(employees, on_delete=models.CASCADE, default='1')
start_date = models.DateField()
end_date = models.DateField()
答案 0 :(得分:0)
假设start_date
,end_date
和today
都是date
个对象,您可以通过以下方式检查某人是否休假:today >= start_date and today <= end_date
。
答案 1 :(得分:0)
这将为您提供leave
个实例的查询集:
import datetime
today = datetime.date.today()
leave.objects.filter(start_date__lt=today, end_date__gt=today)
如果您想要包含边界,请使用__lte
和__gte
,包括今天开始的leave
个实例。
如果您需要员工,请按以下外键:
employees.objects.filter(leave__set_date__lt=today, leave__end_date__gt=today)
如果您没有执行任何强制措施,示例员工不能重叠leave
个实例,请将.distinct()
添加到employees
查询集。