У меня есть модель:
class Scenario(models.Model):
tasks = models.ManyToManyField(Task, blank=True)
Его сериализатор:
class ScenarioSerializer(serializers.ModelSerializer):
class Meta:
model = Scenario
fields = '__all__'
И вид для извлечения и публикации сценариев:
@api_view(['GET', 'POST'])
def scenarios_list(request):
scenarios = []
"""
List all scenarios, or create a new.
"""
if request.method == 'GET':
# get projects of a specific stakeholder
if request.query_params.get('stakeholderId'):
stakeholderId = request.query_params.get('stakeholderId')
scenarios = Scenario.objects.filter(stakeholder=stakeholderId)
serializer = ScenarioSerializer(scenarios, many=True)
return Response(serializer.data)
else:
scenarios = Scenario.objects.all()
serializer = ScenarioSerializer(scenarios, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = ScenarioSerializer(data=request.data)
if serializer.is_valid():
serializer.save(stakeholder=request.user)
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(
serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Это дает мне следующие данные:
[{"id":1,"tasks":[1,3]},{"id":2,"tasks":[2,4,5,10]},{"id":3,"tasks":[2,5,6]},{"id":4,"tasks":[2,6,10]}]
Я хочу получать объекты задач вместо их идентификаторов. Как я могу этого достичь?