init commit
This commit is contained in:
37
exercise/serializers.py
Normal file
37
exercise/serializers.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from rest_framework import serializers
|
||||
from .models import *
|
||||
from muscle.models import ExerciseMuscle
|
||||
from equipment.models import WorkoutEquipment
|
||||
from muscle.serializers import ExerciseMuscleSerializer
|
||||
from equipment.serializers import WorkoutEquipmentSerializer
|
||||
|
||||
class ExerciseMuscleSerializer(serializers.ModelSerializer):
|
||||
name = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = ExerciseMuscle
|
||||
fields = '__all__'
|
||||
|
||||
def get_name(self, obj):
|
||||
return obj.muscle.name
|
||||
|
||||
class ExerciseSerializer(serializers.ModelSerializer):
|
||||
muscles = serializers.SerializerMethodField()
|
||||
equipment = serializers.SerializerMethodField()
|
||||
audio_url = serializers.ReadOnlyField()
|
||||
video_url = serializers.ReadOnlyField()
|
||||
transition_url = serializers.ReadOnlyField()
|
||||
|
||||
class Meta:
|
||||
model = Exercise
|
||||
fields = '__all__'
|
||||
|
||||
def get_muscles(self, obj):
|
||||
objs = ExerciseMuscle.objects.filter(exercise=obj)
|
||||
data = ExerciseMuscleSerializer(objs, many=True).data
|
||||
return data
|
||||
|
||||
def get_equipment(self, obj):
|
||||
objs = WorkoutEquipment.objects.filter(exercise=obj)
|
||||
data = WorkoutEquipmentSerializer(objs, many=True).data
|
||||
return data
|
||||
Reference in New Issue
Block a user