diff --git a/apps/daren_detail/daren_detail.md b/apps/daren_detail/daren_detail.md index 0e58860..d53ca3d 100644 --- a/apps/daren_detail/daren_detail.md +++ b/apps/daren_detail/daren_detail.md @@ -403,10 +403,7 @@ Authorization: Token "CA": 11.3, "GE": 8.9 }, - "date_range": { - "start_date": "2024-03-29", - "end_date": "2024-04-28" - } + "date_range": "May 10, 2025 - May 19, 2025" } } ``` @@ -481,10 +478,7 @@ Authorization: Token "video_views": [85000, 92000, 78000, ...], // 30天的观看量数据 "engagement_rate": [3.2, 3.5, 2.8, ...], // 30天的互动率数据 "dates": ["2024-03-01", "2024-03-02", ...], // 对应的日期 - "date_range": { - "start_date": "2024-03-01", - "end_date": "2024-03-31" - } + "date_range": "May 10, 2025 - May 19, 2025" } } ``` @@ -683,8 +677,7 @@ Authorization: Token "e_commerce_level": ["L1", "L2", "L3"], // 多选 "exposure_level": ["KOL-1", "KOC-1"], // 多选 "gmv_range": ["$0-$5k", "$5k-$25k"], // 多选 - "views_range": ["10k-100k"], // 单选 - "pricing": ["100-500"] // 单选 + "views_range": ["100, 10000"], // 单选 } } ``` @@ -985,8 +978,8 @@ Authorization: Token "e_commerce_level": ["L1", "L2", "L3"], // 多选 "exposure_level": ["KOL-1", "KOC-1"], // 多选 "gmv_range": ["$0-$5k", "$5k-$25k"], // 多选 - "views_range": ["10k-100k"], // 单选 - "pricing": ["100-500"] // 单选 + "views_range": ["100, 10000"], // 单选 + "pricing": ["100, 500"] // 单选 } } ``` diff --git a/apps/daren_detail/migrations/0006_alter_creatorprofile_profile.py b/apps/daren_detail/migrations/0006_alter_creatorprofile_profile.py new file mode 100644 index 0000000..cad4d9e --- /dev/null +++ b/apps/daren_detail/migrations/0006_alter_creatorprofile_profile.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.5 on 2025-05-27 03:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('daren_detail', '0005_merge_20250523_1923'), + ] + + operations = [ + migrations.AlterField( + model_name='creatorprofile', + name='profile', + field=models.CharField(choices=[('tiktok', 'TikTok'), ('instagram', 'Instagram'), ('youtube', 'YouTube'), ('other', '其他平台')], default='tiktok', max_length=20, verbose_name='达人平台'), + ), + ] diff --git a/apps/daren_detail/models.py b/apps/daren_detail/models.py index 48764e4..80bef8c 100644 --- a/apps/daren_detail/models.py +++ b/apps/daren_detail/models.py @@ -129,7 +129,6 @@ class CreatorProfile(models.Model): ('tiktok', 'TikTok'), ('instagram', 'Instagram'), ('youtube', 'YouTube'), - ('xiaohongshu', '小红书'), ('other', '其他平台'), ] profile = models.CharField(max_length=20, choices=PROFILE_CHOICES, default='tiktok', verbose_name="达人平台") diff --git a/apps/daren_detail/views.py b/apps/daren_detail/views.py index 755633d..37bfa80 100644 --- a/apps/daren_detail/views.py +++ b/apps/daren_detail/views.py @@ -2931,6 +2931,12 @@ def filter_public_creators(request): if exposure_level and len(exposure_level) > 0: public_creators = public_creators.filter(creator__exposure_level__in=exposure_level) + # 平台过滤(tiktok, instagram, youtube等),单选 + platform = filter_data.get('platform') + if platform and len(platform) > 0: + platform_value = platform[0] # 单选,取第一个值 + public_creators = public_creators.filter(creator__profile=platform_value) + # GMV范围过滤 ($0-$5k, $5k-$25k, $25k-$50k等),多选 gmv_range = filter_data.get('gmv_range') if gmv_range and len(gmv_range) > 0: @@ -3039,6 +3045,7 @@ def filter_public_creators(request): "category": creator.category, "e_commerce_level": e_commerce_level_formatted, "exposure_level": creator.exposure_level, + "platform": creator.profile, # 添加平台信息 "followers": followers_formatted, "gmv": gmv_formatted, "avg_video_views": avg_views_formatted, @@ -3136,7 +3143,7 @@ def filter_private_pool_creators(request): creator_relations = PrivateCreatorRelation.objects.filter( private_pool=private_pool ).select_related('creator') - + # 应用状态过滤条件(仅当提供了status参数时) if status: creator_relations = creator_relations.filter(status=status) @@ -3164,6 +3171,12 @@ def filter_private_pool_creators(request): if exposure_level and len(exposure_level) > 0: creator_relations = creator_relations.filter(creator__exposure_level__in=exposure_level) + # 平台过滤(tiktok, instagram, youtube等),单选 + platform = filter_data.get('platform') + if platform and len(platform) > 0: + platform_value = platform[0] # 单选,取第一个值 + creator_relations = creator_relations.filter(creator__profile=platform_value) + # GMV范围过滤 ($0-$5k, $5k-$25k, $25k-$50k等),多选 gmv_range = filter_data.get('gmv_range') if gmv_range and len(gmv_range) > 0: @@ -3305,6 +3318,7 @@ def filter_private_pool_creators(request): "category": creator.category, "e_commerce_level": e_commerce_level_formatted, "exposure_level": creator.exposure_level, + "platform": creator.profile, # 添加平台信息 "followers": followers_formatted, "gmv": gmv_formatted, "avg_video_views": avg_views_formatted,