feat: myjsonfield优化
This commit is contained in:
parent
2128b4e847
commit
cc12d80c92
|
@ -3,13 +3,16 @@ from django_filters import rest_framework as filters
|
||||||
|
|
||||||
class MyJsonListFilter(filters.CharFilter):
|
class MyJsonListFilter(filters.CharFilter):
|
||||||
def filter(self, qs, value):
|
def filter(self, qs, value):
|
||||||
|
|
||||||
if value in ['all', '']:
|
if value in ['all', '']:
|
||||||
return qs
|
return qs
|
||||||
elif ',' in value:
|
elif ',' in value:
|
||||||
value_l = value.split(',')
|
value_l = value.split(',')
|
||||||
qsx = qs.none()
|
qsx = qs.none()
|
||||||
for i in value_l:
|
for i in value_l:
|
||||||
qsx = qsx | qs.filter(tags__contains=i)
|
kv = {f"{self.field_name}__contains": i}
|
||||||
|
qsx = qsx | qs.filter(**kv)
|
||||||
return qsx
|
return qsx
|
||||||
else:
|
else:
|
||||||
return qs.filter(tags__contains=value)
|
kv = {f"{self.field_name}__contains": value}
|
||||||
|
return qs.filter(**kv)
|
||||||
|
|
Loading…
Reference in New Issue