From f4d7dfd8d097b9bd515914e554b3021fc8559557 Mon Sep 17 00:00:00 2001 From: xiaji Date: Mon, 9 Mar 2026 10:56:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=AE=B6=E5=BA=AD=E4=BA=8B=E9=A1=B9):=20?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E5=B7=B2=E6=88=AA=E6=AD=A2=E7=9A=84=E4=BA=8B?= =?UTF-8?q?=E9=A1=B9=EF=BC=8C=E4=B8=8D=E6=98=BE=E7=A4=BA=E6=88=AA=E6=AD=A2?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=97=A9=E4=BA=8E=E4=BB=8A=E5=A4=A9=E7=9A=84?= =?UTF-8?q?=E4=BA=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/views.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/core/views.py b/core/views.py index abbb7dd..37b5368 100644 --- a/core/views.py +++ b/core/views.py @@ -1,7 +1,7 @@ from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponse, JsonResponse from django.utils import timezone -from django.db.models import Count +from django.db.models import Count, Q from django.core.mail import send_mail, EmailMessage from django.conf import settings from django.views.decorators.csrf import csrf_exempt @@ -74,8 +74,10 @@ def index(request): today_plan = TodayPlan.objects.filter(date=today) - # 获取未完成的家庭事项(排除已完成状态) + # 获取未完成的家庭事项(排除已完成状态和已截止的事项) pending_family_tasks = FamilyTask.objects.exclude(status__name='completed') + # 过滤掉截止日期早于今天的事项(如果设置了截止日期) + pending_family_tasks = pending_family_tasks.filter(Q(deadline__gte=today) | Q(deadline__isnull=True)) context = { 'yesterday': yesterday, @@ -397,10 +399,12 @@ def delete_summary(request, pk): # 家庭事项视图 @login_required def family_tasks(request): - """家庭事项 - 显示所有未完成的事项(非completed状态)""" + """家庭事项 - 显示所有未完成的事项(非completed状态且未截止)""" logger.info("用户访问家庭事项页面") - # 排除已完成的事项,显示所有未完成的事项 + today = timezone.now().date() + # 排除已完成的事项和已截止的事项 tasks = FamilyTask.objects.exclude(status__name='completed') + tasks = tasks.filter(Q(deadline__gte=today) | Q(deadline__isnull=True)) context = { 'tasks': tasks,