From 5ba3b4e07a3c2b75d8fe8c0793c9337f2b8a143e Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 26 Oct 2023 16:40:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0utask=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/pm/filters.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/pm/filters.py b/apps/pm/filters.py index df38d6f7..51b02a4f 100644 --- a/apps/pm/filters.py +++ b/apps/pm/filters.py @@ -6,6 +6,7 @@ from django.db.models import F class UtaskFilter(filters.FilterSet): + tag = filters.CharFilter(method='filter_tag', label='done, not_done') class Meta: model = Utask @@ -28,6 +29,13 @@ class UtaskFilter(filters.FilterSet): queryset = super().filter_queryset(queryset) return queryset.distinct() + def filter_tag(self, queryset, name, value): + if value == 'done': + queryset = queryset.filter(count_ok__gte=F('count')) + elif value == 'not_done': + queryset = queryset.filter(count_ok__lt=F('count')) + return queryset + class MtaskFilter(filters.FilterSet): tag = filters.CharFilter(method='filter_tag')