2

我刚开始使用 Django 尝试制作 API REST,出于某种我不明白的原因,'Workout' object has no attribute 'exercises'当我这样做时会出现此错误GET - /workouts

我正在使用Django REST 框架来制作这个东西。

这是我认为您需要帮助我的代码的一部分:

序列化程序.py

class WorkoutSerializer(serializers.ModelSerializer):
    exercises = serializers.StringRelatedField(many=True)

    class Meta:
        model = Workout
        fields = ['id', 'name', 'creation_date', 'exercises']

class ExerciseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Exercise
        fields = ['url', 'video_url', 'workout']

模型.py

class Workout(models.Model):
    name = models.CharField(max_length=30)
    creation_date = models.DateField(auto_now_add=True)
    
    def __str__(self):
        return self.name

class Exercise(models.Model):
    video_url = models.URLField(max_length=200)
    workout = models.ForeignKey(Workout, related_name='workout', on_delete=models.CASCADE)

    def __str__(self):
        return str(self.video_url)

视图.py

class WorkoutViewSet(viewsets.ModelViewSet):
    queryset = Workout.objects.all()
    serializer_class = WorkoutSerializer

class ExerciseViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows exercises to be viewed or edited.
    """
    queryset = Exercise.objects.all()
    serializer_class = ExerciseSerializer
4

0 回答 0