From 4f37b2b920acbb8cdb9a527ad0a4c9b4b03f19fe Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 12 May 2022 11:27:32 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20setting=20?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=EF=BC=8C=E9=81=BF=E5=85=8D=E9=81=97=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/settings/api/public.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/settings/api/public.py b/apps/settings/api/public.py index 724001e28..9753c1bdd 100644 --- a/apps/settings/api/public.py +++ b/apps/settings/api/public.py @@ -41,14 +41,6 @@ class PublicSettingApi(OpenPublicSettingApi): def get_object(self): values = super().get_object() - - serializer = self.serializer_class() - field_names = list(serializer.fields.keys()) - - for name in field_names: - if hasattr(settings, name): - values[name] = getattr(settings, name) - values.update({ "XPACK_LICENSE_IS_VALID": has_valid_xpack_license(), "XPACK_LICENSE_INFO": get_xpack_license_info(), @@ -61,6 +53,15 @@ class PublicSettingApi(OpenPublicSettingApi): 'SECURITY_PASSWORD_SPECIAL_CHAR': settings.SECURITY_PASSWORD_SPECIAL_CHAR, }, }) + + serializer = self.serializer_class() + field_names = list(serializer.fields.keys()) + for name in field_names: + if name in values: + continue + # 提前把异常爆出来 + values[name] = getattr(settings, name) return values +