mirror of https://github.com/jumpserver/jumpserver
perf: 修改 labels 搜索 (#12379)
* perf: 修改标签的搜索 * perf: 修改 labels 搜索 --------- Co-authored-by: ibuler <ibuler@qq.com>pull/12382/head
parent
ac5991fc43
commit
6544f8ade8
|
@ -57,19 +57,10 @@ class EncryptedField(serializers.CharField):
|
||||||
|
|
||||||
|
|
||||||
class LabeledChoiceField(ChoiceField):
|
class LabeledChoiceField(ChoiceField):
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
super(LabeledChoiceField, self).__init__(*args, **kwargs)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def choice_mapper(self):
|
|
||||||
return {
|
|
||||||
key: value for key, value in self.choices.items()
|
|
||||||
}
|
|
||||||
|
|
||||||
def to_representation(self, key):
|
def to_representation(self, key):
|
||||||
if key is None:
|
if key is None:
|
||||||
return key
|
return key
|
||||||
label = self.choice_mapper.get(key, key)
|
label = self.choices.get(key, key)
|
||||||
return {"value": key, "label": label}
|
return {"value": key, "label": label}
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
|
|
|
@ -39,10 +39,9 @@ class TicketSerializer(OrgResourceModelSerializerMixin):
|
||||||
tp = self.fields.get('type')
|
tp = self.fields.get('type')
|
||||||
if not tp:
|
if not tp:
|
||||||
return
|
return
|
||||||
excluded_value = TicketType.general
|
choices = tp.choices
|
||||||
self.fields['type'].choices = [
|
choices.pop(TicketType.general, None)
|
||||||
(value, label) for value, label in tp.choices.items() if value != excluded_value
|
tp.choices = choices.items()
|
||||||
]
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setup_eager_loading(cls, queryset):
|
def setup_eager_loading(cls, queryset):
|
||||||
|
|
Loading…
Reference in New Issue