解决账户中心的问题

This commit is contained in:
Azmat@qq.com
2026-09-07 14:36:23 +08:00
parent dde0a67b1c
commit 0d56fdb299
6 changed files with 107 additions and 24 deletions
+15
View File
@@ -13,6 +13,9 @@ class CreditAccountSerializer(serializers.ModelSerializer):
class CreditLedgerSerializer(serializers.ModelSerializer):
# 成员展示名:优先真实姓名 → 用户名 → 邮箱;系统流水(无 user)留空
user_label = serializers.SerializerMethodField()
# 扣费项目:与任务监控类型列同源,供账户中心流水展示
task_type = serializers.SerializerMethodField()
project_title = serializers.SerializerMethodField()
class Meta:
model = CreditLedger
@@ -21,7 +24,9 @@ class CreditLedgerSerializer(serializers.ModelSerializer):
"user",
"user_label",
"project",
"project_title",
"task",
"task_type",
"ledger_type",
"amount",
"balance_after",
@@ -37,6 +42,16 @@ class CreditLedgerSerializer(serializers.ModelSerializer):
return ""
return user.first_name or user.username or user.email or ""
def get_task_type(self, obj):
task = getattr(obj, "task", None)
return getattr(task, "task_type", "") or ""
def get_project_title(self, obj):
project = getattr(obj, "project", None)
if project is None:
return ""
return getattr(project, "title", None) or getattr(project, "name", None) or ""
class CreditReservationSerializer(serializers.ModelSerializer):
class Meta: