This commit is contained in:
jeremygan2021
2026-02-12 14:20:03 +08:00
parent ba78470052
commit f00cc9a28e
14 changed files with 553 additions and 3 deletions

View File

@@ -0,0 +1,18 @@
# Generated by Django 6.0.1 on 2026-02-12 06:19
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('community', '0004_activity_banner_url_alter_activity_banner'),
]
operations = [
migrations.AddField(
model_name='topic',
name='category',
field=models.CharField(choices=[('discussion', '技术讨论'), ('help', '求助问答'), ('share', '经验分享'), ('notice', '官方公告')], default='discussion', max_length=20, verbose_name='分类'),
),
]

View File

@@ -71,6 +71,15 @@ class Topic(models.Model):
论坛帖子/主题
"""
title = models.CharField(max_length=200, verbose_name="标题")
CATEGORY_CHOICES = (
('discussion', '技术讨论'),
('help', '求助问答'),
('share', '经验分享'),
('notice', '官方公告'),
)
category = models.CharField(max_length=20, choices=CATEGORY_CHOICES, default='discussion', verbose_name="分类")
content = models.TextField(verbose_name="内容", help_text="支持Markdown格式支持插入图片")
author = models.ForeignKey(WeChatUser, on_delete=models.CASCADE, related_name='topics', verbose_name="作者")

Binary file not shown.

View File

@@ -0,0 +1,23 @@
# Generated by Django 6.0.1 on 2026-02-12 06:19
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('shop', '0026_wechatuser_phone_number'),
]
operations = [
migrations.AddField(
model_name='wechatuser',
name='is_star',
field=models.BooleanField(default=False, verbose_name='是否明星技术用户'),
),
migrations.AddField(
model_name='wechatuser',
name='title',
field=models.CharField(blank=True, default='技术专家', max_length=50, verbose_name='专家头衔'),
),
]

View File

@@ -20,6 +20,11 @@ class WeChatUser(models.Model):
country = models.CharField(max_length=64, verbose_name="国家", blank=True)
province = models.CharField(max_length=64, verbose_name="省份", blank=True)
city = models.CharField(max_length=64, verbose_name="城市", blank=True)
# 明星技术用户/专家标识
is_star = models.BooleanField(default=False, verbose_name="是否明星技术用户")
title = models.CharField(max_length=50, default="技术专家", verbose_name="专家头衔", blank=True)
created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")

View File

@@ -22,8 +22,8 @@ class CommissionLogSerializer(serializers.ModelSerializer):
class WeChatUserSerializer(serializers.ModelSerializer):
class Meta:
model = WeChatUser
fields = ['id', 'nickname', 'avatar_url', 'gender', 'country', 'province', 'city', 'phone_number']
read_only_fields = ['id', 'phone_number']
fields = ['id', 'nickname', 'avatar_url', 'gender', 'country', 'province', 'city', 'phone_number', 'is_star', 'title']
read_only_fields = ['id', 'phone_number', 'is_star', 'title']
class DistributorSerializer(serializers.ModelSerializer):
user_info = WeChatUserSerializer(source='user', read_only=True)