This commit is contained in:
@@ -10,12 +10,13 @@ class ScoreDimensionSerializer(serializers.ModelSerializer):
|
||||
class CompetitionSerializer(serializers.ModelSerializer):
|
||||
score_dimensions = ScoreDimensionSerializer(many=True, read_only=True)
|
||||
display_cover_image = serializers.SerializerMethodField()
|
||||
status_display = serializers.CharField(source='get_status_display', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Competition
|
||||
fields = ['id', 'title', 'description', 'rule_description', 'condition_description',
|
||||
'cover_image', 'cover_image_url', 'display_cover_image',
|
||||
'start_time', 'end_time', 'status', 'is_active',
|
||||
'start_time', 'end_time', 'status', 'status_display', 'is_active',
|
||||
'score_dimensions', 'created_at']
|
||||
|
||||
def get_display_cover_image(self, obj):
|
||||
|
||||
@@ -82,6 +82,17 @@ class CompetitionViewSet(viewsets.ReadOnlyModelViewSet):
|
||||
except CompetitionEnrollment.DoesNotExist:
|
||||
return Response({"detail": "未报名"}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def my_enrollments(self, request):
|
||||
"""
|
||||
获取我的所有报名信息
|
||||
"""
|
||||
user = get_current_wechat_user(request)
|
||||
if not user:
|
||||
return Response([])
|
||||
enrollments = CompetitionEnrollment.objects.filter(user=user)
|
||||
return Response(CompetitionEnrollmentSerializer(enrollments, many=True).data)
|
||||
|
||||
|
||||
class ProjectViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user