From ac5991fc43b71511e44b6b05bea4f2e180170c0d Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 20 Dec 2023 10:52:02 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E7=9A=84=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/drf/filters.py | 2 +- apps/labels/const.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/common/drf/filters.py b/apps/common/drf/filters.py index 103eef212..0fb8ca63a 100644 --- a/apps/common/drf/filters.py +++ b/apps/common/drf/filters.py @@ -223,7 +223,7 @@ class LabelFilterBackend(filters.BaseFilterBackend): return queryset model = queryset.model - labeled_resource_cls = model.labels.field.related_model + labeled_resource_cls = model._labels.field.related_model app_label = model._meta.app_label model_name = model._meta.model_name diff --git a/apps/labels/const.py b/apps/labels/const.py index bf77ed46b..108b07df0 100644 --- a/apps/labels/const.py +++ b/apps/labels/const.py @@ -5,6 +5,7 @@ class LabeledResourceType(LazyObject): @staticmethod def get_res_types(): from rbac.models import ContentType + from .mixins import LabeledMixin content_types = ContentType.objects.all() ids = [] for ct in content_types: @@ -13,7 +14,7 @@ class LabeledResourceType(LazyObject): continue if model_cls._meta.parents: continue - if 'labels' in model_cls._meta._forward_fields_map.keys(): + if issubclass(model_cls, LabeledMixin): ids.append(ct.id) return ContentType.objects.filter(id__in=ids)