fix: 统一视频自由创作标题
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user