This commit is contained in:
jlj 2025-06-05 14:31:16 +08:00
parent cbe13c319b
commit e4dd2808da
3 changed files with 55 additions and 45 deletions

View File

@ -0,0 +1,16 @@
# Generated by Django 5.2.1 on 2025-06-05 06:28
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('daren_detail', '0001_initial'),
]
operations = [
migrations.DeleteModel(
name='BrandCampaign',
),
]

View File

@ -287,51 +287,6 @@ class CreatorCampaign(models.Model):
return f"{self.creator.name} - {self.campaign.name}" return f"{self.creator.name} - {self.campaign.name}"
class BrandCampaign(models.Model):
"""品牌活动数据模型"""
BRAND_CHOICES = [
('U', 'U品牌'),
('R', 'R品牌'),
('X', 'X品牌'),
('Q', 'Q品牌'),
('A', 'A品牌'),
('M', 'M品牌'),
]
STATUS_CHOICES = [
('completed', '已完成'),
('in_progress', '进行中'),
('rejected', '已拒绝'),
]
brand_id = models.CharField(max_length=10, choices=BRAND_CHOICES, verbose_name="品牌ID")
brand_name = models.CharField(max_length=255, default="brand", verbose_name="品牌名称")
brand_color = models.CharField(max_length=20, default="#000000", verbose_name="品牌颜色")
# 添加关联到Campaign模型的外键
campaign = models.ForeignKey(BrandCampaign, on_delete=models.SET_NULL, null=True, blank=True, verbose_name="关联活动",
related_name="brand_campaigns")
pricing_detail = models.CharField(max_length=50, verbose_name="价格详情")
start_date = models.DateField(verbose_name="开始日期")
end_date = models.DateField(verbose_name="结束日期")
status = models.CharField(max_length=20, choices=STATUS_CHOICES, verbose_name="状态")
gmv_achieved = models.CharField(max_length=50, verbose_name="实现GMV")
views_achieved = models.CharField(max_length=50, verbose_name="实现观看量")
video_link = models.URLField(max_length=255, blank=True, null=True, verbose_name="视频链接")
# 时间戳
create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
update_time = models.DateTimeField(auto_now=True, verbose_name="更新时间")
class Meta:
verbose_name = "品牌活动数据"
verbose_name_plural = verbose_name
db_table = "brand_campaigns"
def __str__(self):
return f"{self.brand_id} - {self.brand_name}"
class CreatorVideo(models.Model): class CreatorVideo(models.Model):

View File

@ -0,0 +1,39 @@
# Generated by Django 5.2.1 on 2025-06-05 06:28
import django.db.models.deletion
import uuid
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('daren_detail', '0002_delete_brandcampaign'),
('feishu', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='CreatorConversationTracker',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('conversation_id', models.CharField(max_length=100, verbose_name='对话ID')),
('has_replied', models.BooleanField(default=False, verbose_name='是否已回复')),
('goal_achieved', models.BooleanField(default=False, verbose_name='是否达成目标')),
('user_email', models.EmailField(max_length=254, verbose_name='用户邮箱')),
('influencer_email', models.EmailField(max_length=254, verbose_name='达人邮箱')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
('creator_profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='daren_detail.creatorprofile', verbose_name='创作者')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='用户')),
],
options={
'verbose_name': '创作者对话跟踪',
'verbose_name_plural': '创作者对话跟踪',
'db_table': 'creator_conversation_tracker',
'unique_together': {('creator_profile', 'conversation_id')},
},
),
]