fix: 统一视频自由创作标题

This commit is contained in:
hh
2026-07-13 21:53:15 +08:00
parent 3078271f97
commit 6131bcdd9d
7 changed files with 66 additions and 10 deletions
+17
View File
@@ -60,9 +60,25 @@ class AssetFileSerializer(serializers.ModelSerializer):
class AssetSerializer(serializers.ModelSerializer):
files = AssetFileSerializer(many=True, read_only=True)
# 自由创作视频的可见标题以任务原始提示词为准,Asset.name 仅保留通用资产名称/兼容搜索。
# 这样历史的 50 字符截断资产也能直接恢复完整标题,无需数据迁移。
display_name = serializers.SerializerMethodField()
# 资产归属商品(只读):商品详情页据此只展示「该商品」的 AI 素材,而非全团队
product = serializers.SerializerMethodField()
def get_display_name(self, obj):
task = obj.origin_task
if (
obj.category == Asset.Category.FREE_CREATE
and obj.asset_type == Asset.Type.VIDEO
and task is not None
and task.task_type == "free_video"
):
prompt = (task.request_payload or {}).get("prompt")
if isinstance(prompt, str) and prompt.strip():
return prompt.strip()
return obj.name
def get_product(self, obj):
"""解析资产所属商品:
1) 独立生图(图片创作/模特图/平台套图):生图时已写入 metadata.product_id;
@@ -81,6 +97,7 @@ class AssetSerializer(serializers.ModelSerializer):
fields = [
"id",
"name",
"display_name",
"asset_type",
"source",
"category",