From c6e7872ba8748d7b28bec95216d76faff4b21986 Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Fri, 15 Nov 2019 14:58:43 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E8=B5=84=E4=BA=A7=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=94=AF=E6=8C=81=E6=A8=A1=E7=B3=8A=E6=90=9C?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/backends/base.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/assets/backends/base.py b/apps/assets/backends/base.py index 801bfbbb1..d46c67f70 100644 --- a/apps/assets/backends/base.py +++ b/apps/assets/backends/base.py @@ -38,6 +38,9 @@ class AssetUserQuerySet(list): if len(v) == 0: return self if k.find("__in") >= 0: + _k = k.split('__')[0] + in_kwargs[_k] = v + else: in_kwargs[k] = v for k in in_kwargs: kwargs.pop(k) @@ -45,17 +48,16 @@ class AssetUserQuerySet(list): if len(in_kwargs) == 0: return self for i in self: - matched = True + matched = False for k, v in in_kwargs.items(): - key = k.split('__')[0] - attr = getattr(i, key, None) + attr = getattr(i, k, None) # 如果属性或者value中是uuid,则转换成string if isinstance(v[0], uuid.UUID): v = [str(i) for i in v] if isinstance(attr, uuid.UUID): attr = str(attr) - if attr not in v: - matched = False + if v in attr: + matched = True if matched: queryset.append(i) return AssetUserQuerySet(queryset)