解决账户中心的问题
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user