From 28d5475d0fad40f62d07a99f2dad9b69381ad439 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 29 Aug 2025 10:42:06 +0800 Subject: [PATCH] perf: try to decrypt then origin value --- apps/common/db/fields.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/common/db/fields.py b/apps/common/db/fields.py index 791a03b5f..43ab29d25 100644 --- a/apps/common/db/fields.py +++ b/apps/common/db/fields.py @@ -144,6 +144,10 @@ class EncryptMixin: return value plain_value = Encryptor(value).decrypt() + + # 如果解密失败,则使用原来的值 + if not plain_value: + plain_value = value # 可能和Json mix,所以要先解密,再json sp = super() if hasattr(sp, "from_db_value"): @@ -166,9 +170,6 @@ class EncryptMixin: class EncryptTextField(EncryptMixin, models.TextField): description = _("Encrypt field using Secret Key") - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - class EncryptCharField(EncryptMixin, models.CharField): @staticmethod