审核
All checks were successful
Deploy to Server / deploy (push) Successful in 39s

This commit is contained in:
jeremygan2021
2026-02-27 14:44:04 +08:00
parent a58fc40e10
commit 93ad681689
7 changed files with 68 additions and 11 deletions

View File

@@ -262,11 +262,21 @@ class TopicViewSet(viewsets.ModelViewSet):
ordering_fields = ['created_at', 'view_count', 'order']
ordering = ['-is_pinned', 'order', '-created_at']
def get_queryset(self):
qs = super().get_queryset()
# 列表接口仅显示已发布的帖子
if self.action == 'list':
qs = qs.filter(status='published')
return qs
def perform_create(self, serializer):
user = get_current_wechat_user(self.request)
# Auth check is done in create or permission, but here we need user for save
if user:
serializer.save(author=user)
# 如果关联了系统用户(user字段不为空),则是管理员/内部人员,直接发布
# 否则进入审核流程
status = 'published' if user.user else 'pending'
serializer.save(author=user, status=status)
def create(self, request, *args, **kwargs):
user = get_current_wechat_user(request)