Norwich
@Norwich
Web-developer

Как вернуть вложенность json в django rest framework?

Если пользователь при заполнении расписания использует уже существующий предмет, то его запрос выглядит так (добавляется subject_id).

{
  "schedule": [
    {
      "start_time": "8:30",
      "end_time": "10:00",
      "week_day": "1",
      "week_type": "EVEN",
      "subject": {
        "subject_id": "1",
        "title": "Предмет",
        "tutor": "Преподаватель",
        "location": "Аудитория"
      },
      "description": "Доп. информация"
    },
  ]
}


В этом случае в таблицу с занятиями добавляется новое занятие, которое имеет ссылку на предмет с помощью subject_id

Если же пользователь решил создать новый предмет, то передается такой запрос

{
  "schedule": [
    {
      "start_time": "8:30",
      "end_time": "10:00",
      "week_day": "1",
      "week_type": "EVEN",
      "subject": {
        "title": "Предмет",
        "tutor": "Преподаватель",
        "location": "Аудитория"
      },
      "description": "Доп. информация"
    },
  ]
}


В этом случае в таблице с предметами создается новый предмет, ему назначается id, и этот id записывается в таблицу с занятиями

Как реализовать данный функционал?
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
tumbler
@tumbler
бекенд-разработчик на python
serializer_classes = {
  'create': MyCreateSerializer,
  'retrieve': MyRetrieveSerializer
}

def get_serializer_class(self):
    return self.serializer_classes.get(self.action, self.serializer_class)


Ну и при создании объекта инстанцировать два сериалайзера: один "создающий", другой "возвращающий".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы