From d7121296f2369d3533d6ac7fd3d93667b746ac1f Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 15 Jun 2023 10:14:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?perf:=20=20=E4=BC=98=E5=8C=96=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=20bool?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/db/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/common/db/fields.py b/apps/common/db/fields.py index bd968c734..cfa1e829b 100644 --- a/apps/common/db/fields.py +++ b/apps/common/db/fields.py @@ -502,7 +502,7 @@ class JSONManyToManyDescriptor: value = [value.id] value = set(map(str, value)) rule_value = set(map(str, rule_value)) - res &= value & rule_value + res &= bool(value & rule_value) else: logging.error("unknown match: {}".format(rule['match'])) res &= False From 70af478f661864500d8e3995f53d3b8bc856e650 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 15 Jun 2023 10:16:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=20rule=20vlaue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/db/fields.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/common/db/fields.py b/apps/common/db/fields.py index cfa1e829b..4122aafb4 100644 --- a/apps/common/db/fields.py +++ b/apps/common/db/fields.py @@ -500,6 +500,8 @@ class JSONManyToManyDescriptor: value = value.values_list('id', flat=True) elif isinstance(value, models.Model): value = [value.id] + if isinstance(rule_value, (str, int)): + rule_value = [rule_value] value = set(map(str, value)) rule_value = set(map(str, rule_value)) res &= bool(value & rule_value)