def get_date(self, instance):
user = instance.id
today = date.today()
if instance.date is not None:
return instance.date
# calculate last reported day if no specific date is set
max_absence_date = Absence.objects.filter(
user=user, date__lt=today).aggregate(date=Max('date'))
max_report_date = Report.objects.filter(
user=user, date__lt=today).aggregate(date=Max('date'))
last_reported_date = max(
max_absence_date['date'] or date.min,
max_report_date['date'] or date.min
)
instance.date = last_reported_date
return instance.date
评论列表
文章目录