feat(problem): 新增标签管理接口

列表带题目数,重命名撞名时自动合并并返回受影响题数,删除后清标签缓存。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-05 04:18:41 -06:00
parent ec7cf71ea7
commit c775ae4b22
3 changed files with 74 additions and 2 deletions

View File

@@ -109,6 +109,19 @@ class TagSerializer(serializers.ModelSerializer):
fields = "__all__"
class TagAdminSerializer(serializers.ModelSerializer):
problem_count = serializers.IntegerField(read_only=True)
class Meta:
model = ProblemTag
fields = ["id", "name", "problem_count"]
class EditTagSerializer(serializers.Serializer):
id = serializers.IntegerField()
name = serializers.CharField(max_length=32)
class BaseProblemSerializer(serializers.ModelSerializer):
tags = serializers.SlugRelatedField(many=True, slug_field="name", read_only=True)
created_by = UsernameSerializer()