Я получаю данные этой части 1 и часть 1 успешно, а также имеется документация по этому типу проблем. Единый массив Часть 1: данные
{
"someid:"1"
"lecture_id": 1,
"subject_name": "English",
"teacher_id": 1,
"teacher_name": "Cirillo Kierans",
"room": "Room A",
"schedule": "1534567899"
}
Часть 1 output posting ->
{
"id:1,
"someid" :1
"lecture_id": 1,
"subject_name": "English",
"teacher_id": 1,
"teacher_name": "Cirillo Kierans",
"room": "Room A",
"schedule": "1534567899",
}
но мои данные не приходят в формате, указанном выше, и мне нужно получить ответ на сообщение, не похожий на приведенный выше Часть 1, я ожидаю, что это кратно запись (список) Вход части 2 и выход части 2
Вход части 2
{
"someid:"1"
"lectures": [{
"lecture_id": 1,
"subject_name": "English",
"teacher_id": 1,
"teacher_name": "Cirillo Kierans",
"room": "Room A",
"schedule": "1534567899"
}]
}
Часть 2, вывод
{
"lectures": [{
"id:1,
"lecture_id": 1,
"subject_name": "English",
"teacher_id": 1,
"teacher_name": "Cirillo Kierans",
"room": "Room A",
"schedule": "1534567899",
"someid" :1
}]
}
Мне удалось получить список данных путем переопределения def list этой функции сериализаторов ->
class LecturesSerializer(serializers.ModelSerializer):
schedule_timestamp=serializers.IntegerField()
class Meta:
model=Lectures
fields = ('id','lecture_id','schedule_timestamp','subject_name','teacher_id','teacher_name','room')
def validate(self, attrs):
travel_date = Lectures.to_date_time(attrs.pop('schedule_timestamp'))
attrs.update({'schedule_date': travel_date})
attrs = super().validate(attrs)
return attrs
def to_representation(self, instance):
data = super(LecturesSerializer, self).to_representation(instance)
result_data={}
result_data["lectures"]=data
return result_data
views ->
class LecturesViewSet(viewsets.ModelViewSet):
queryset = Lectures.objects.all()
def get_serializer_class(self):
return LecturesSerializer
def dispatch(self, request, *args, **kwargs):
response = super(LecturesViewSet, self).dispatch(request, *args, **kwargs)
data = {}
data['lectures'] = response.data
response.data = data
return response
он выдает листинг, как ожидалось, но постинг и обновление не работают для меня, как определить метод постинга и получить настроенный ответ объекта массива для POST и PUT изображено выше Спасибо заранее за помощь