From 2acbb80920d845a9c25551238bae93922fbc46a7 Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Wed, 9 Jul 2025 10:41:07 +0800 Subject: [PATCH] perf: Add account date_expired --- apps/perms/serializers/user_permission.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/perms/serializers/user_permission.py b/apps/perms/serializers/user_permission.py index 43c022e21..639fb6320 100644 --- a/apps/perms/serializers/user_permission.py +++ b/apps/perms/serializers/user_permission.py @@ -2,6 +2,7 @@ # from django.db.models import F +from django.utils.timezone import get_current_timezone from django.utils.translation import gettext_lazy as _ from rest_framework import serializers @@ -60,15 +61,25 @@ class NodePermedSerializer(serializers.ModelSerializer): class AccountsPermedSerializer(serializers.ModelSerializer): actions = ActionChoicesField(read_only=True) username = serializers.CharField(source='full_username', read_only=True) + date_expired = serializers.SerializerMethodField() class Meta: model = Account fields = [ 'id', 'alias', 'name', 'username', 'has_username', - 'has_secret', 'secret_type', 'actions' + 'has_secret', 'secret_type', 'actions', 'date_expired' ] read_only_fields = fields + def get_date_expired(self, obj): + dt = obj.date_expired + if dt: + dt = dt.astimezone(get_current_timezone()) + formatted = dt.strftime('%Y/%m/%d %H:%M:%S %z') + return formatted + else: + return None + class AssetPermedDetailSerializer(AssetPermedSerializer): # 前面特意加了 permed,避免返回的是资产本身的