perf: 优化 labels 支持多个搜索 (#12367)

Co-authored-by: ibuler <ibuler@qq.com>
This commit is contained in:
fit2bot
2023-12-19 18:46:02 +08:00
committed by GitHub
parent fda3e6ec9b
commit 45425b11d2
3 changed files with 53 additions and 15 deletions

View File

@@ -13,12 +13,24 @@ __all__ = ['LabelSerializer', 'LabeledResourceSerializer', 'ContentTypeResourceS
class LabelSerializer(BulkOrgResourceModelSerializer):
class Meta:
model = Label
fields = ['id', 'name', 'value', 'res_count', 'comment', 'date_created', 'date_updated']
fields = [
'id', 'name', 'value', 'res_count', 'comment',
'date_created', 'date_updated'
]
read_only_fields = ('date_created', 'date_updated', 'res_count')
extra_kwargs = {
'res_count': {'label': _('Resource count')},
}
@staticmethod
def validate_name(value):
if ':' in value or ',' in value:
raise serializers.ValidationError(_('Cannot contain ":,"'))
return value
def validate_value(self, value):
return self.validate_name(value)
@classmethod
def setup_eager_loading(cls, queryset):
""" Perform necessary eager loading of data. """