diff --git a/zhenxun/models/level_user.py b/zhenxun/models/level_user.py index b2d5cb59..1e4a2b4f 100644 --- a/zhenxun/models/level_user.py +++ b/zhenxun/models/level_user.py @@ -56,6 +56,9 @@ class LevelUser(Model): level: 权限等级 group_flag: 是否被自动更新刷新权限 0:是, 1:否. """ + if await cls.exists(user_id=user_id, group_id=group_id, level=level): + # 权限相同时跳过 + return await cls.update_or_create( user_id=user_id, group_id=group_id, @@ -122,8 +125,7 @@ class LevelUser(Model): return [ # 将user_id改为user_id "ALTER TABLE level_users RENAME COLUMN user_qq TO user_id;", - "ALTER TABLE level_users " - "ALTER COLUMN user_id TYPE character varying(255);", + "ALTER TABLE level_users ALTER COLUMN user_id TYPE character varying(255);", # 将user_id字段类型改为character varying(255) "ALTER TABLE level_users " "ALTER COLUMN group_id TYPE character varying(255);", diff --git a/zhenxun/services/cache.py b/zhenxun/services/cache.py index 49d03eec..5dbd7a4e 100644 --- a/zhenxun/services/cache.py +++ b/zhenxun/services/cache.py @@ -145,16 +145,7 @@ class CacheData(BaseModel): # 跳过反向关系字段 if hasattr(field, "_related_name"): continue - # 处理 CharEnumField - if hasattr(field, "enum_class"): - try: - processed_value[field_name] = field.enum_class( - field_value - ) - except ValueError: - processed_value[field_name] = None - else: - processed_value[field_name] = field_value + processed_value[field_name] = field_value logger.debug(f"处理后的值: {processed_value}")